Function at 0x43ae46
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x25d4
call fcn.004ad610
mov eax, dword [0x4f8004]
xor eax, esp
mov dword [esp + 0x25d0], eax
mov eax, dword [ebp + 0x18]
lea ecx, [esp + 0x20c]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push eax
mov dword [esp + 0x28], ebx
call fcn.0042a909
push 0
push ecx
push str.___:_____
push 0
lea ecx, [esp + 0x140]
call fcn.0042cf74
push 0
push ecx
push 0x4ee5a4
push 0
lea ecx, [esp + 0x134]
call fcn.0042cf74
push 0
push ecx
push 0x4ee5a8
push 3
lea ecx, [esp + 0x128]
call fcn.0042cf74
push 1
push ecx
push 0x4ec700
push 3
lea ecx, [esp + 0xf4]
call fcn.0042cf74
push eax
lea ecx, [ebx + 0x44]
call fcn.00439b66
push dword [esp + 0xec]
call fcn.00487120
pop ecx
push 0
push ecx
push str.___t_v_f_n
push 0
lea ecx, [esp + 0xf4]
call fcn.0042cf74
cmp byte [ebx + 0x18d1], 0
je 0x43af15
push 0x24
lea ecx, [ebx + 0x44]
call fcn.00434a1c
mov eax, dword [esp + 0x218]
xor ecx, ecx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xa4], ecx
mov byte [esp + 0x98], cl
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x1a], cl
mov byte [esp + 0x23], cl
mov ecx, dword [eax]
push esi
push eax
mov dword [esp + 0xb8], 0x20
call dword [ecx + 0x14]
mov ecx, dword [ebp + 0x14]
mov edi, eax
and ecx, 0xffffffbf
mov dword [esp + 0x14], edi
cmp ecx, 9
je 0x43af7e
cmp ecx, 2
je 0x43af7e
cmp ecx, 0xf
jne 0x43afad
test edi, edi
jle 0x43afad
lea eax, [edi - 1]
push eax
lea ecx, [esp + 0x21c]
call fcn.00439b11
test eax, eax
jle 0x43afad
push 0x20
dec eax
lea ecx, [esp + 0x21c]
push eax
call fcn.0042b5d3
cmp al, 0x5c
sete byte [esp + 0x13]
test esi, esi
je 0x43b003
sub esi, 1
je 0x43afd3
mov eax, dword [esp + 0x218]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
movsx ecx, al
and ecx, 0xffffffbf
call fcn.00439e82
test al, al
jne 0x43afb1
mov eax, dword [esp + 0x218]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
and al, 0xbf
cmp al, 0xa
jne 0x43b000
push 0x20
push esi
lea ecx, [esp + 0x220]
call fcn.0042b5d3
movsx eax, al
mov dword [esp + 0xb0], eax
mov esi, dword [ebp + 0xc]
push 0xffffffffffffffff
lea eax, [esp + 0x21c]
push eax
push dword [ebp + 0x14]
lea ecx, [esp + 0x3c]
push dword [ebp + 0x10]
push esi
call fcn.0042b794
lea ecx, [ebx + 0x50]
mov dword [esp + 0xa8], ecx
push 0xc
pop esi
test edi, edi
jle 0x43b058
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
cdq
idiv esi
cmp eax, edi
jbe 0x43b058
imul esi, edi, 0xc
lea edi, [esp + 0x78]
add esi, dword [ecx]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
jmp 0x43b074
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x7c], eax
or eax, 0xffffffff
mov dword [esp + 0x80], eax
cmp byte [ebx + 0x18d3], 0
mov byte [esp + 0x1b], 0
jne 0x43b0a0
mov esi, dword [ebx + 0x5c]
mov edi, dword [ebx + 0x60]
cmp esi, edi
je 0x43b0a0
mov ecx, esi
call fcn.0043cf02
add esi, 0x50
cmp esi, edi
jne 0x43b08c
mov eax, dword [ebx + 0x5c]
mov dword [ebx + 0x60], eax
mov esi, dword [esp + 0x14]
lea eax, [ebx + 0x5c]
mov ecx, dword [ebx + 0x60]
dec esi
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x94], esi
jmp 0x43b0c5
cmp dword [eax], esi
jg 0x43b0cb
add eax, 0x50
cmp eax, ecx
jne 0x43b0be
jmp 0x43b108
push eax
mov edx, ecx
call fcn.0043ea23
mov ebx, eax
mov eax, dword [esp + 0x28]
pop ecx
mov edi, ebx
mov eax, dword [eax + 0x60]
cmp ebx, eax
je 0x43b0fa
mov esi, eax
mov ecx, edi
call fcn.0043cf02
add edi, 0x50
cmp edi, esi
jne 0x43b0e5
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x24]
mov byte [esp + 0x1b], 1
mov dword [eax + 0x60], ebx
mov ebx, eax
push ecx
lea eax, [ebx + 0x18c8]
push eax
lea ecx, [esp + 0x90]
call fcn.0043e8f7
mov ecx, dword [ebx + 0x60]
mov eax, dword [ebx + 0x5c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x90], eax
cmp eax, ecx
je 0x43b1f5
lea ebx, [eax + 4]
cmp byte [ebx + 0x30], 0
lea ecx, [esp + 0x88]
push ebx
je 0x43b169
lea eax, [esp + 0xfc]
push eax
call fcn.0043e6aa
lea ecx, [esp + 0x88]
push dword [eax + 4]
push dword [eax]
call fcn.0043e297
jmp 0x43b1d0
lea eax, [esp + 0xf4]
push eax
call fcn.0043e86b
lea ecx, [esp + 0x1c8]
mov edi, dword [eax]
lea eax, [ebx + 0x18]
push eax
call fcn.0042b3ae
lea eax, [ebx + 0x34]
push eax
lea ecx, [esp + 0x1e4]
call fcn.0042b3ae
lea eax, [esp + 0x1c8]
push eax
lea ecx, [edi + 0x28]
call fcn.0042b2f8
lea eax, [esp + 0x1e0]
push eax
lea ecx, [edi + 0x40]
call fcn.0042b2f8
lea ecx, [esp + 0x1e0]
call fcn.00429fa9
lea ecx, [esp + 0x1c8]
call fcn.00429fa9
mov eax, dword [esp + 0x90]
add ebx, 0x50
add eax, 0x50
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0x84]
jne 0x43b13b
mov ebx, dword [esp + 0x24]
lea eax, [ebx + 0x1980]
push esi
lea ecx, [esp + 0x184]
mov dword [esp + 0xbc], eax
push ecx
mov ecx, eax
call fcn.0043dc34
mov edi, dword [esp + 0x1c]
lea esi, [ebx + 0x1990]
xor eax, eax
mov ecx, esi
neg edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
sbb edi, edi
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x14]
and edi, 0x40
push 0xb
mov dword [esp + 0xc8], eax
mov dword [esp + 0x10], edi
call fcn.00439cc6
xor edx, edx
mov ecx, esi
test eax, eax
push 0x11
cmovns edx, eax
imul eax, edx, 0x14
add eax, dword [esi + 0x18]
mov dword [esp + 0xc0], eax
call fcn.00439cc6
xor ecx, ecx
test eax, eax
cmovns ecx, eax
imul eax, ecx, 0x14
lea ecx, [esp + 0x218]
add eax, dword [esi + 0x18]
mov esi, dword [esp + 0x14]
push esi
mov dword [esp + 0xc4], eax
call fcn.00439b11
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
cmp ecx, dword [esp + 0x38]
jae 0x43cb06
mov cl, byte [esp + 0x5c]
mov ebx, esi
test cl, cl
je 0x43b32c
cmp dword [esp + 0x60], 6
je 0x43b2c1
cmp dword [esp + 0x60], 7
jne 0x43b2d2
push dword [esp + 0x60]
lea ecx, [esp + 0x34]
call fcn.0042b91d
mov cl, byte [esp + 0x5c]
mov eax, dword [esp + 0x60]
and eax, 0xffffffbf
cmp eax, 9
jne 0x43b2f3
cmp byte [esp + 0x13], 0
jne 0x43b2f3
push edi
lea ecx, [esp + 0x34]
call fcn.0042b91d
mov cl, byte [esp + 0x5c]
xor eax, eax
mov dword [esp + 0xa4], eax
mov byte [esp + 0x98], al
mov byte [esp + 0x12], al
mov byte [esp + 0x1a], al
cmp dword [esp + 0x1c], eax
je 0x43b32c
mov eax, dword [esp + 0x60]
push 0x40
pop ecx
or eax, ecx
mov dword [esp + 0xc], ecx
push eax
lea ecx, [esp + 0x34]
call fcn.0042b91d
mov cl, byte [esp + 0x5c]
cmp byte [esp + 0x5d], 0
je 0x43b3a1
inc esi
lea ecx, [esp + 0x218]
push esi
mov dword [esp + 0x18], esi
call fcn.00439b11
mov ecx, dword [esp + 0xa8]
lea esi, [esp + 0x78]
sub esp, 0xc
mov dword [esp + 0x9c], eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
push esi
call fcn.0043a367
mov edx, 0x4c1e25
lea ecx, [esp + 0x180]
call fcn.0042b592
test al, al
jne 0x43b39d
sub esp, 0x18
lea eax, [esp + 0x198]
mov ecx, esp
push eax
call fcn.0042b3ae
push ebx
lea ecx, [esp + 0xe0]
call fcn.0043dcb6
mov cl, byte [esp + 0x5c]
mov edx, dword [esp + 0x90]
mov ebx, esi
push 0x5c
pop edi
cmp dword [esp + 0x68], edi
jne 0x43b465
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, edx
jl 0x43b465
inc esi
lea ecx, [esp + 0x218]
push esi
mov dword [esp + 0x18], esi
call fcn.00439b11
mov ecx, dword [esp + 0xa8]
lea esi, [esp + 0x78]
sub esp, 0xc
mov dword [esp + 0x9c], eax
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
push esi
call fcn.0043a367
mov edx, 0x4c1e25
lea ecx, [esp + 0x180]
call fcn.0042b592
test al, al
jne 0x43b42e
sub esp, 0x18
lea eax, [esp + 0x198]
mov ecx, esp
push eax
call fcn.0042b3ae
push ebx
lea ecx, [esp + 0xe0]
call fcn.0043dcb6
lea ecx, [esp + 0x30]
call fcn.0042b8bb
cmp dword [esp + 0x68], 0xd
jne 0x43b44e
cmp dword [esp + 0x70], 0xa
jne 0x43b44e
lea ecx, [esp + 0x30]
call fcn.0042b8bb
lea ecx, [esp + 0x30]
mov byte [esp + 0x13], 1
call fcn.0042b8bb
mov edi, dword [esp + 0xc]
jmp 0x43caf8
mov eax, dword [esp + 0x60]
mov bh, byte [esp + 0x5d]
and eax, 0xffffffbf
dec eax
cmp eax, 0x1a
ja case.0x43b47a.5
jmp dword [eax*4 + 0x43ce96]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push edi
call fcn.0042b91d
jmp case.0x43b47a.5
cmp dword [esp + 0x68], 0x5f
jne 0x43b4ab
mov edi, dword [esp + 0xc]
or edi, 0x19
mov dword [esp + 0x60], edi
jmp case.0x43b47a.5
mov ecx, dword [esp + 0x24]
push dword [esp + 0x68]
lea ecx, [ecx + 8]
call fcn.0042d02b
test al, al
jne case.0x43b47a.5
mov edx, dword [esp + 0x68]
cmp edx, 0x27
je case.0x43b47a.5
cmp edx, 0x2b
je 0x43b4da
cmp edx, 0x2d
jne case.0x43b47a.10
mov ecx, dword [esp + 0x64]
cmp ecx, 0x65
je case.0x43b47a.5
cmp ecx, 0x45
je case.0x43b47a.5
cmp ecx, 0x70
je case.0x43b47a.5
cmp ecx, 0x50
je case.0x43b47a.5
jmp case.0x43b47a.10
mov ecx, dword [esp + 0x24]
push dword [esp + 0x68]
lea ecx, [ecx + 8]
call fcn.0042d02b
test al, al
jne case.0x43b47a.5
jmp case.0x43b47a.10
mov esi, dword [esp + 0x24]
test cl, cl
jne 0x43b54b
test bh, bh
jne 0x43b54b
push dword [esp + 0x68]
lea ecx, [esi + 8]
call fcn.0042d02b
test al, al
je 0x43b54b
cmp dword [esp + 0x68], 0x2e
jne 0x43b65d
cmp byte [esi + 4], 0
lea eax, [esp + 0x21f0]
push 0x3e8
lea ecx, [esp + 0x34]
push eax
je 0x43b569
call fcn.00478c40
jmp 0x43b56e
call fcn.00478c9a
lea eax, [esp + 0x21f0]
push eax
lea ecx, [esi + 0x68]
call fcn.00479026
test al, al
lea eax, [esp + 0x21f0]
je 0x43b5b5
push str.uuid
push eax
call fcn.004978b0
mov edi, dword [esp + 0x14]
neg eax
pop ecx
sbb al, al
pop ecx
inc al
mov ecx, edi
or ecx, 5
mov dword [esp + 0x98], eax
mov dword [esp + 0x60], ecx
jmp 0x43b63a
push eax
lea ecx, [esi + 0x478]
call fcn.00479026
test al, al
je 0x43b5d0
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0x10
jmp 0x43b5f0
lea eax, [esp + 0x21f0]
push eax
lea ecx, [esi + 0xc98]
call fcn.00479026
test al, al
je 0x43b5f6
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0x13
mov dword [esp + 0x60], eax
jmp 0x43b63a
lea eax, [esp + 0x21f0]
push eax
lea ecx, [esp + 0x16c]
call fcn.00429f4a
mov ecx, dword [esp + 0xbc]
lea eax, [esp + 0x168]
push eax
call fcn.00439b9c
lea ecx, [esp + 0x168]
mov esi, eax
call fcn.00429fa9
mov edi, dword [esp + 0xc]
test esi, esi
js 0x43b63a
or esi, edi
mov dword [esp + 0x60], esi
cmp dword [esp + 0x68], 0x22
sete bl
je 0x43b6d3
cmp dword [esp + 0x68], 0x27
je 0x43b6d3
push edi
lea ecx, [esp + 0x34]
call fcn.0042b91d
mov esi, dword [esp + 0x14]
cmp byte [esp + 0x5d], 0
je 0x43b6a1
test bh, bh
jne 0x43b6a1
inc esi
lea ecx, [esp + 0x218]
push esi
mov dword [esp + 0x18], esi
call fcn.00439b11
mov ecx, dword [esp + 0xa8]
lea esi, [esp + 0x78]
sub esp, 0xc
mov dword [esp + 0x9c], eax
mov edi, esp
push dword [esp + 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0043a367
test dword [esp + 0x60], 0xffffffbf
jne 0x43cab5
cmp dword [esp + 0x68], 0x40
jne 0x43be74
cmp dword [esp + 0x70], 0x22
jne 0x43be74
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0xd
jmp 0x43bfda
lea eax, [esp + 0x21f0]
push eax
call fcn.00497120
mov esi, eax
pop ecx
test bl, bl
je 0x43b71c
cmp dword [esp + 0x64], 0x52
jne 0x43b71c
push dword [esp + 0x70]
lea ecx, [esp + 0xe8]
call fcn.0042d02b
test al, al
jne 0x43b71c
mov eax, esi
mov cl, 1
dec esi
cmp eax, 0x3e8
jae 0x43ce8f
mov byte [esp + eax + 0x21f0], 0
jmp 0x43b71e
xor cl, cl
test esi, esi
je 0x43b762
mov al, byte [esp + 0x21f0]
cmp esi, 1
jne 0x43b73a
cmp al, 0x4c
je 0x43b762
cmp al, 0x75
je 0x43b762
cmp al, 0x55
je 0x43b762
cmp esi, 2
jne 0x43b653
test bl, bl
je 0x43b653
cmp al, 0x75
jne 0x43b653
cmp byte [esp + 0x21f1], 0x38
je 0x43b766
jmp 0x43b653
test bl, bl
je 0x43b784
mov eax, edi
test cl, cl
je 0x43b778
or eax, 0x14
mov dword [esp + 0x60], eax
jmp 0x43b653
or eax, 6
mov dword [esp + 0x60], eax
jmp 0x43b65d
mov eax, edi
or eax, 7
jmp 0x43b77b
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x18d0], 0
je 0x43b7a8
mov ecx, dword [esp + 0x68]
call fcn.0042b2b4
test al, al
jmp 0x43b4fc
cmp byte [esp + 0x2b], 0
je 0x43b7d3
mov edx, dword [esp + 0x68]
cmp edx, 0x3e
je 0x43b7c8
cmp edx, 0x22
je 0x43b7c8
cmp byte [esp + 0x5d], 0
je 0x43b6a1
xor al, al
mov byte [esp + 0x2b], al
jmp case.0x43b47a.5
cmp byte [esp + 0x12], 0
je 0x43b7e1
cmp dword [esp + 0x68], 0x3c
je 0x43b7e8
cmp dword [esp + 0x68], 0x22
jne 0x43b7f2
mov byte [esp + 0x2b], 1
jmp case.0x43b47a.5
cmp dword [esp + 0x68], 0x2f
jne case.0x43b47a.5
cmp dword [esp + 0x70], 0x2a
jne 0x43b84b
push 0x4ee5c4
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
jne 0x43b82c
push 0x4ee5c8
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
jne 0x43b82c
push 0x17
jmp 0x43b82e
push 0x18
pop eax
or eax, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push eax
call fcn.0042b91d
lea ecx, [esp + 0x30]
call fcn.0042b8bb
jmp case.0x43b47a.5
cmp dword [esp + 0x68], 0x2f
jne case.0x43b47a.5
cmp dword [esp + 0x70], 0x2f
jmp 0x43b519
cmp dword [esp + 0x68], 0x2a
jne case.0x43b47a.5
cmp dword [esp + 0x70], 0x2f
jne case.0x43b47a.5
lea ecx, [esp + 0x30]
call fcn.0042b8bb
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 9
push eax
call fcn.0042b947
jmp 0x43caf8
cmp dword [esp + 0x68], 0x2a
jne 0x43b8b3
cmp dword [esp + 0x70], 0x2f
jne 0x43b8b3
lea ecx, [esp + 0x30]
call fcn.0042b8bb
jmp 0x43bc9e
mov esi, dword [esp + 0x24]
lea edx, [esp + 0x218]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov dword [esp + 0xa0], 1
movzx eax, byte [esi + 4]
push eax
lea eax, [esi + 0x14b8]
push eax
push edi
call fcn.0043a0f1
add esp, 0xc
jmp 0x43b65d
cmp dword [esp + 0x68], 0x2a
jne 0x43b8f9
cmp dword [esp + 0x70], 0x2f
je 0x43b8a5
mov edx, dword [esp + 0x68]
cmp edx, 0x40
je 0x43b90a
cmp edx, edi
jne case.0x43b47a.5
mov ecx, dword [esp + 0x64]
call fcn.0042b2b4
test al, al
jne 0x43b920
cmp ecx, 0x2a
jne case.0x43b47a.5
mov ecx, dword [esp + 0x70]
call fcn.0042b2b4
test al, al
jne case.0x43b47a.5
mov dword [esp + 0x9c], 3
mov edi, dword [esp + 0xc]
or edi, 0x11
jmp 0x43b485
test cl, cl
je 0x43b957
cmp byte [esp + 0x13], 0
je case.0x43b47a.10
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x218]
mov edi, dword [esp + 0xc]
mov dword [esp + 0xa0], 2
movzx eax, byte [ecx + 4]
push eax
lea eax, [ecx + 0x14b8]
push eax
push edi
lea ecx, [esp + 0x3c]
call fcn.0043a0f1
add esp, 0xc
jmp case.0x43b47a.5
test cl, cl
je 0x43b99e
cmp byte [esp + 0x13], 0
je case.0x43b47a.10
mov edx, dword [esp + 0x68]
cmp edx, 0x40
je 0x43b9af
cmp edx, edi
jne case.0x43b47a.5
mov ecx, dword [esp + 0x64]
call fcn.0042b2b4
test al, al
jne 0x43b9ca
cmp ecx, 0x2f
je 0x43b9ca
cmp ecx, 0x21
jne case.0x43b47a.5
mov ecx, dword [esp + 0x70]
call fcn.0042b2b4
test al, al
jne case.0x43b47a.5
mov dword [esp + 0x9c], 0xf
jmp 0x43b93c
cmp dword [esp + 0x9c], 3
jne 0x43ba2c
cmp dword [esp + 0x68], 0x2a
jne 0x43ba2c
cmp dword [esp + 0x70], 0x2f
jne 0x43ba2c
lea ecx, [esp + 0x30]
mov dword [esp + 0x60], 0x12
call fcn.0042b8bb
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push edi
call fcn.0042b947
mov byte [esp + 0x23], 0
jmp case.0x43b47a.5
mov edx, dword [esp + 0x68]
cmp edx, 0x5b
je 0x43bb36
cmp edx, 0x7b
je 0x43bb36
push edx
lea ecx, [esp + 0x11c]
call fcn.0042d02b
test al, al
jne case.0x43b47a.5
cmp byte [esp + 0x23], al
je 0x43ba73
mov edx, dword [esp + 0x68]
cmp edx, 0x2c
je case.0x43b47a.5
cmp edx, 0x2e
je case.0x43b47a.5
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x2188]
push 0x64
lea ecx, [esp + 0x34]
push eax
cmp byte [esi + 4], 0
je 0x43ba92
call fcn.00478c40
jmp 0x43ba97
call fcn.00478c9a
mov ecx, dword [esp + 0x68]
call fcn.0042b2b4
test al, al
jne 0x43baa8
test ecx, ecx
jne 0x43bb05
lea eax, [esp + 0x2189]
push eax
lea ecx, [esi + 0x888]
call fcn.00479026
test al, al
jne 0x43bb14
lea eax, [esp + 0x2189]
push eax
lea ecx, [esp + 0x16c]
call fcn.00429f4a
mov ecx, dword [esp + 0xc0]
lea eax, [esp + 0x168]
push eax
call fcn.00439b9c
lea ecx, [esp + 0x168]
mov esi, eax
call fcn.00429fa9
test esi, esi
js 0x43bb05
mov edi, dword [esp + 0xc]
or esi, edi
mov dword [esp + 0x60], esi
jmp 0x43bb18
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0x12
mov dword [esp + 0x60], eax
jmp 0x43bb18
mov edi, dword [esp + 0xc]
mov eax, edi
lea ecx, [esp + 0x30]
or eax, dword [esp + 0x9c]
push eax
call fcn.0042b91d
xor al, al
mov byte [esp + 0x23], al
jmp 0x43b65d
mov byte [esp + 0x23], 1
jmp case.0x43b47a.5
test bh, bh
je 0x43bb50
mov edi, dword [esp + 0xc]
or edi, 0xc
jmp 0x43b4a2
cmp byte [esp + 0x12], 0
je 0x43bb7a
cmp dword [esp + 0x68], 0x3e
jne case.0x43b47a.5
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push edi
call fcn.0042b947
mov byte [esp + 0x12], 0
jmp case.0x43b47a.5
cmp dword [esp + 0x68], edi
jne 0x43bbbb
mov esi, dword [esp + 0x24]
cmp byte [esi + 0x18d8], 0
je 0x43bbad
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
or edi, 0x1b
push edi
call fcn.0042b91d
lea ecx, [esi + 0x1954]
push dword [esp + 0x70]
call fcn.0043a24d
lea ecx, [esp + 0x30]
call fcn.0042b8bb
jmp 0x43b65d
cmp dword [esp + 0x68], 0x22
jne case.0x43b47a.5
cmp dword [esp + 0x70], 0x5f
mov edi, dword [esp + 0xc]
je 0x43b49f
push edi
lea ecx, [esp + 0x34]
call fcn.0042b947
jmp case.0x43b47a.5
mov eax, dword [esp + 0x24]
lea esi, [eax + 0x1954]
dec dword [esi]
cmp dword [esi], 0
jle 0x43bc0c
push dword [esp + 0x68]
mov ecx, dword [eax + 0x197c]
call fcn.0042d02b
test al, al
jne 0x43b65d
cmp dword [esp + 0x68], 0x22
jne 0x43bc35
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 6
push eax
call fcn.0042b91d
push edi
lea ecx, [esp + 0x34]
call fcn.0042b947
jmp 0x43b65d
cmp dword [esp + 0x68], edi
jne 0x43bc42
mov ecx, esi
jmp 0x43bba4
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 6
push eax
call fcn.0042b91d
cmp byte [esp + 0x5d], 0
je 0x43b6a1
mov eax, edi
or eax, 0xc
jmp 0x43b77b
cmp dword [esp + 0x68], edi
jne 0x43bc93
mov eax, dword [esp + 0x70]
cmp eax, 0x22
je 0x43b83d
cmp eax, 0x27
je 0x43b83d
cmp eax, edi
jne case.0x43b47a.5
jmp 0x43b83d
cmp dword [esp + 0x68], 0x22
jne case.0x43b47a.5
mov edi, dword [esp + 0xc]
jmp 0x43bbd5
cmp dword [esp + 0x194], 0x10
lea eax, [esp + 0x180]
lea ecx, [esp + 0x30]
cmovae eax, dword [esp + 0x180]
push eax
call fcn.0042f03b
test al, al
je case.0x43b47a.5
mov esi, dword [esp + 0x190]
test esi, esi
je 0x43bce9
lea ecx, [esp + 0x30]
call fcn.0042b8bb
sub esi, 1
jne 0x43bcdb
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
push edi
call fcn.0042b91d
mov esi, 0x4c1e25
push esi
call fcn.00497120
pop ecx
push eax
push esi
lea ecx, [esp + 0x188]
call fcn.0042ab4f
jmp 0x43b65d
test bh, bh
jne 0x43bb44
cmp dword [esp + 0x68], edi
je 0x43bc70
cmp dword [esp + 0x68], 0x27
jmp 0x43bbc0
test cl, cl
jne case.0x43b47a.10
cmp byte [esp + 0x1a], cl
jne 0x43bd7c
cmp dword [esp + 0x68], 0x2f
jne 0x43bd7c
lea ecx, [esp + 0x30]
call fcn.0042b8bb
mov edi, 0x80
jmp 0x43bd6f
push eax
call fcn.00497b80
pop ecx
test eax, eax
je case.0x43b47a.10
lea ecx, [esp + 0x30]
call fcn.0042b8bb
mov eax, dword [esp + 0x68]
cmp eax, edi
jl 0x43bd57
jmp case.0x43b47a.10
cmp dword [esp + 0x68], edi
jne 0x43bd94
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, edx
jge case.0x43b47a.5
jmp 0x43b83d
cmp dword [esp + 0x68], 0x5b
jne 0x43bda5
mov byte [esp + 0x1a], 1
jmp case.0x43b47a.5
cmp dword [esp + 0x68], 0x5d
jne case.0x43b47a.5
mov byte [esp + 0x1a], 0
jmp case.0x43b47a.5
test cl, cl
jmp 0x43b4fc
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x18d4], 0
je 0x43bdd8
cmp dword [esp + 0x68], edi
je 0x43b83d
cmp dword [esp + 0x68], 0x22
jne case.0x43b47a.5
cmp dword [esp + 0x70], 0x22
jne 0x43bc9e
jmp 0x43b83d
push 0x4ec920
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je case.0x43b47a.5
jmp 0x43be10
call fcn.0042b8bb
cmp dword [esp + 0x68], 0x22
lea ecx, [esp + 0x30]
je 0x43be0b
mov edi, dword [esp + 0xc]
jmp 0x43b489
test bh, bh
jne case.0x43b47a.10
cmp dword [esp + 0x68], 0x29
jmp 0x43b519
mov edx, dword [esp + 0x68]
mov ecx, edx
call fcn.0042d082
test al, al
jne 0x43be52
call fcn.0042b2b4
test al, al
je case.0x43b47a.5
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
or edi, dword [esp + 0xa0]
push edi
call fcn.0042b91d
and dword [esp + 0xa0], 0
jmp case.0x43b47a.5
mov ebx, dword [esp + 0x24]
cmp byte [ebx + 0x18d5], 0
je 0x43bebc
push 0x4ec920
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43bebc
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 0x15
push eax
call fcn.0042b91d
push 2
pop esi
lea ecx, [esp + 0x30]
call fcn.0042b8bb
sub esi, 1
jne 0x43bea9
jmp 0x43cab9
cmp byte [ebx + 0x18d6], 0
je 0x43bee1
cmp dword [esp + 0x68], 0x23
jne 0x43bee1
cmp dword [esp + 0x70], 0x22
jne 0x43bee1
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0x16
jmp 0x43bfda
cmp byte [ebx + 0x18d7], 0
je 0x43bf23
cmp dword [esp + 0x68], 0x60
jne 0x43bf23
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 0x14
push eax
call fcn.0042b91d
mov ebx, 0x4ee5cc
push ebx
call fcn.00497120
pop ecx
push eax
push ebx
lea ecx, [esp + 0x188]
call fcn.0042ab4f
jmp 0x43cab9
mov edx, dword [esp + 0x68]
lea eax, [edx - 0x30]
cmp eax, 9
jbe 0x43ce58
cmp edx, 0x2e
jne 0x43bf48
mov eax, dword [esp + 0x70]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x43ce58
cmp byte [esp + 0x5d], 0
jne 0x43bf8e
push dword [esp + 0x68]
lea ecx, [ebx + 0x44]
call fcn.0042d02b
test al, al
jne 0x43bf66
cmp dword [esp + 0x68], 0x40
jne 0x43bf8e
cmp byte [esp + 0x98], 0
mov edi, dword [esp + 0xc]
mov eax, edi
je 0x43bf86
mov byte [esp + 0x98], 0
or eax, 8
jmp 0x43c1e6
or eax, 0xb
jmp 0x43c1e6
push 0x2f
pop eax
cmp dword [esp + 0x68], eax
jne 0x43c0fa
cmp dword [esp + 0x70], 0x2a
jne 0x43bff2
push 0x4ee5c4
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
jne 0x43bfd1
push 0x4ee5c8
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
jne 0x43bfd1
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 1
jmp 0x43bfda
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 3
push eax
lea ecx, [esp + 0x34]
call fcn.0042b91d
lea ecx, [esp + 0x30]
call fcn.0042b8bb
jmp 0x43cab9
cmp dword [esp + 0x68], eax
jne 0x43c0fa
cmp dword [esp + 0x70], eax
jne 0x43c054
push 0x4ee5d0
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c026
push 0x4ee5d4
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c038
push 0x4ee5dc
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c046
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0xf
jmp 0x43c1e6
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 2
jmp 0x43c1e6
cmp dword [esp + 0x68], eax
jne 0x43c0fa
mov esi, dword [esp + 0xb0]
lea ecx, [esp + 0x130]
push esi
call fcn.0042d02b
test al, al
jne 0x43c08a
lea edx, [esp + 0x218]
lea ecx, [esp + 0x30]
call fcn.00439e9c
test al, al
je 0x43c0fa
push esi
lea ecx, [esp + 0x128]
call fcn.0042d02b
test al, al
je 0x43c0c0
mov esi, dword [esp + 0x4c]
dec esi
jmp 0x43c0bc
push esi
lea ecx, [esp + 0x21c]
call fcn.0042a9b7
mov bl, al
cmp bl, 0x2b
je 0x43c0dd
cmp bl, 0x2d
je 0x43c0dd
dec esi
test esi, esi
jg 0x43c0a2
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 0xe
push eax
call fcn.0042b91d
mov byte [esp + 0x1a], 0
jmp 0x43cab9
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0x21c]
call fcn.0042a9b7
cmp al, bl
sete al
test al, al
je 0x43c0c0
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x68], 0x22
jne 0x43c1bd
cmp dword [esp + 0x64], 0x52
jne 0x43c1a0
lea ecx, [esp + 0x218]
call fcn.0042b618
mov eax, dword [esp + 0x218]
mov edx, dword [esp + 0x4c]
dec edx
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
and al, 0xbf
cmp al, 0x14
mov eax, edi
jne 0x43c1aa
or eax, 0x14
push eax
call fcn.0042b91d
mov ebx, 0x4edd50
push ebx
call fcn.00497120
pop ecx
push eax
push ebx
lea ecx, [esp + 0x188]
call fcn.0042ab4f
mov esi, dword [esp + 0x4c]
inc esi
jmp 0x43c176
push dword [esp + 0xb4]
call fcn.0042a2bc
inc esi
push 0x28
push esi
lea ecx, [esp + 0x220]
call fcn.0042b5d3
mov byte [esp + 0xb4], al
lea ecx, [esp + 0x180]
cmp al, 0x28
jne 0x43c169
push 0x22
call fcn.0042a2bc
jmp 0x43c1b3
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 6
push eax
call fcn.0042b91d
mov byte [esp + 0x12], 0
jmp 0x43cab9
cmp byte [esp + 0x12], 0
je 0x43c1d6
cmp dword [esp + 0x68], 0x3c
jne 0x43c1d6
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 6
jmp 0x43c1e6
cmp dword [esp + 0x68], 0x27
jne 0x43c1f5
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 7
lea ecx, [esp + 0x30]
push eax
call fcn.0042b91d
jmp 0x43cab9
cmp dword [esp + 0x68], 0x23
jne 0x43ce39
cmp dword [esp + 0xa4], 0
jne 0x43ce39
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x30]
mov eax, edi
or eax, 9
push eax
call fcn.0042b91d
lea ecx, [esp + 0x30]
call fcn.0042b8bb
cmp dword [esp + 0x68], 0x20
je 0x43c238
cmp dword [esp + 0x68], 9
jne 0x43c242
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x38]
jb 0x43c221
cmp byte [esp + 0x5d], 0
lea ecx, [esp + 0x30]
je 0x43c250
push edi
jmp 0x43c1eb
push str.include
call fcn.0042f03b
test al, al
je 0x43c268
mov byte [esp + 0x12], 1
jmp 0x43cab9
cmp byte [ebx + 0x18d2], 0
je 0x43cab9
mov esi, str.ifdef
lea ecx, [esp + 0x30]
push esi
call fcn.0042f03b
test al, al
jne 0x43cd5d
push str.ifndef
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
jne 0x43cd5d
push 0x4ec4f0
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c322
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x218]
add eax, 2
lea ecx, [esp + 0x168]
push 1
push eax
call fcn.0043a2a3
pop ecx
pop ecx
lea eax, [esp + 0x88]
mov ecx, ebx
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.0043dab3
mov byte [esp + 0xd4], al
lea ecx, [esp + 0x78]
push dword [esp + 0xd4]
call fcn.0043a335
lea ecx, [esp + 0x168]
call fcn.00429fa9
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
jmp 0x43cab9
push 0x4ec850
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c38e
mov ecx, dword [esp + 0x80]
xor eax, eax
mov esi, dword [esp + 0x2c]
inc eax
mov ebx, dword [esp + 0x1c]
shl eax, cl
test esi, eax
jne 0x43c44b
cmp ecx, 0x1f
ja 0x43c36b
btc ebx, ecx
bts esi, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x7c], esi
mov edi, ebx
neg edi
sbb edi, edi
and edi, 0x40
mov dword [esp + 0xc], edi
test ebx, ebx
jne 0x43cab9
mov eax, edi
or eax, 9
mov dword [esp + 0x60], eax
jmp 0x43cab9
push str.elif
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c461
mov ecx, dword [esp + 0x80]
xor eax, eax
mov esi, dword [esp + 0x2c]
inc eax
shl eax, cl
test esi, eax
jne 0x43c447
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x218]
add eax, 2
lea ecx, [esp + 0x168]
push 1
push eax
call fcn.0043a2a3
pop ecx
pop ecx
lea eax, [esp + 0x88]
mov ecx, ebx
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.0043dab3
test al, al
je 0x43c436
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x43c41c
btc ebx, eax
bts esi, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x7c], esi
mov edi, ebx
neg edi
sbb edi, edi
and edi, 0x40
mov dword [esp + 0xc], edi
test ebx, ebx
jne 0x43c436
mov eax, edi
or eax, 9
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x168]
call fcn.00429fa9
jmp 0x43cab9
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jne 0x43cab9
cmp ecx, 0x1f
ja 0x43c36b
jmp 0x43c355
push 0x4ec820
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43c4be
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x1c]
cmp esi, 0x1f
ja 0x43c4a6
mov eax, dword [esp + 0x80]
btr ebx, esi
mov esi, dword [esp + 0x2c]
btr esi, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x7c], esi
mov esi, eax
mov dword [esp + 0x78], ebx
dec esi
neg ebx
mov dword [esp + 0x80], esi
sbb edi, edi
and edi, 0x40
mov dword [esp + 0xc], edi
jmp 0x43c380
push str.define
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43cbb5
cmp byte [ebx + 0x18d3], 0
je 0x43cab9
cmp dword [esp + 0x1c], 0
jne 0x43cab9
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x218]
add eax, 6
lea ecx, [esp + 0x150]
push 1
push eax
call fcn.0043a2a3
mov edx, dword [esp + 0x168]
xor edi, edi
mov dword [esp + 0x9c], edi
pop ecx
pop ecx
test edx, edx
je 0x43c557
mov esi, dword [esp + 0x164]
mov ebx, dword [esp + 0x150]
cmp esi, 0x10
lea eax, [esp + 0x150]
cmovae eax, ebx
movsx ecx, byte [edi + eax]
call fcn.00439f02
test al, al
je 0x43c54c
inc edi
cmp edi, edx
jb 0x43c52d
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x94], edi
mov esi, edi
cmp edi, edx
jae 0x43c596
cmp dword [esp + 0x164], 0x10
lea eax, [esp + 0x150]
lea ecx, [ebx + 8]
cmovae eax, dword [esp + 0x150]
movzx eax, byte [esi + eax]
push eax
call fcn.0042d02b
test al, al
je 0x43c58f
inc esi
cmp esi, dword [esp + 0x160]
jb 0x43c55d
mov edi, dword [esp + 0x94]
mov eax, esi
lea ecx, [esp + 0x150]
sub eax, edi
push eax
push edi
lea eax, [esp + 0x1b8]
push eax
call fcn.0043e0e2
mov edx, dword [esp + 0x160]
cmp esi, edx
jae 0x43c8fd
cmp dword [esp + 0x164], 0x10
lea eax, [esp + 0x150]
cmovae eax, dword [esp + 0x150]
cmp byte [eax + esi], 0x28
jne 0x43c8f9
mov edi, esi
cmp dword [esp + 0x164], 0x10
lea eax, [esp + 0x150]
cmovae eax, dword [esp + 0x150]
cmp byte [edi + eax], 0x29
je 0x43c604
inc edi
cmp edi, edx
jb 0x43c5e2
mov eax, edi
lea ecx, [esp + 0x150]
sub eax, esi
dec eax
push eax
lea eax, [esi + 1]
push eax
lea eax, [esp + 0x170]
push eax
call fcn.0043e0e2
jmp 0x43c648
cmp dword [esp + 0x164], 0x10
lea eax, [esp + 0x150]
cmovae eax, dword [esp + 0x150]
movsx ecx, byte [edi + eax]
call fcn.00439f02
test al, al
je 0x43c652
inc edi
cmp edi, dword [esp + 0x160]
jb 0x43c624
xor ebx, ebx
mov dword [esp + 0x1ac], 0xf
mov dword [esp + 0x198], ebx
mov dword [esp + 0x1a8], ebx
cmp edi, dword [esp + 0x160]
jae 0x43c728
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x1d0]
push eax
lea ecx, [esp + 0x15c]
call fcn.0043e0e2
mov esi, eax
lea eax, [esp + 0x198]
cmp eax, esi
je 0x43c71c
mov ecx, dword [esp + 0x1ac]
cmp ecx, 0x10
jb 0x43c6f6
mov eax, dword [esp + 0x198]
inc ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x84], eax
cmp ecx, 0x1000
jb 0x43c6ed
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00424175
mov eax, dword [esp + 0x8c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x94]
push ecx
push eax
call fcn.004870ef
pop ecx
pop ecx
push esi
lea ecx, [esp + 0x19c]
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1b0], 0xf
mov byte [esp + 0x19c], bl
call fcn.00429fde
lea ecx, [esp + 0x1c8]
call fcn.00429fa9
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x1cc]
call fcn.0042b3ae
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x1e4]
call fcn.0042b3ae
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x90]
call fcn.00431ca9
mov esi, dword [esp + 0x108]
cmp byte [esi + 0xd], bl
jne 0x43c78d
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.00431d6c
test al, al
je 0x43c800
cmp dword [esp + 0x8c], 0x2e8ba2e
je 0x43ce8a
push ecx
lea eax, [esp + 0x1b4]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push eax
push ecx
push dword [esp + 0x94]
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x104]
call fcn.0043f3ab
lea ecx, [esp + 0xf0]
mov esi, dword [eax + 4]
mov dword [eax + 4], ebx
call fcn.0043ecf2
push esi
push dword [esp + 0x108]
lea ecx, [esp + 0x90]
push dword [esp + 0x108]
call fcn.00431ad9
mov esi, eax
lea eax, [esp + 0x1c8]
push eax
lea ecx, [esi + 0x28]
call fcn.0042b2f8
lea eax, [esp + 0x1e0]
push eax
lea ecx, [esi + 0x40]
call fcn.0042b2f8
lea ecx, [esp + 0x1e0]
call fcn.00429fa9
lea ecx, [esp + 0x1c8]
call fcn.00429fa9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1cc]
mov dword [esp + 0x1c8], eax
lea eax, [esp + 0x1b0]
push eax
call fcn.0042b3ae
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x1e8]
call fcn.0042b3ae
lea eax, [esp + 0x168]
mov byte [esp + 0x1fc], bl
push eax
lea ecx, [esp + 0x204]
call fcn.0042b3ae
mov ebx, dword [esp + 0xac]
lea ecx, [esp + 0x1c8]
push ecx
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x43c8aa
mov ecx, eax
call fcn.00440021
add dword [ebx + 4], 0x50
jmp 0x43c8b2
push eax
mov ecx, ebx
call fcn.0043f457
lea ecx, [esp + 0x1c8]
call fcn.0043cf02
lea ecx, [esp + 0x198]
mov byte [esp + 0x1b], 1
call fcn.00429fa9
jmp 0x43ca91
cmp dword [esp + 0x164], 0x10
lea eax, [esp + 0x150]
cmovae eax, dword [esp + 0x150]
movsx ecx, byte [esi + eax]
call fcn.00439f02
test al, al
je 0x43c8fd
inc esi
cmp esi, edx
jb 0x43c8d4
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x170]
push eax
lea ecx, [esp + 0x15c]
call fcn.0043e0e2
lea eax, [esp + 0x1b0]
push eax
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x90]
call fcn.00431ca9
mov esi, dword [esp + 0x114]
cmp byte [esi + 0xd], 0
jne 0x43c952
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.00431d6c
test al, al
je 0x43c9c6
cmp dword [esp + 0x8c], 0x2e8ba2e
je 0x43ce8a
push ecx
lea eax, [esp + 0x1b4]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push eax
push ecx
push dword [esp + 0x94]
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x10c]
call fcn.0043f3ab
lea ecx, [esp + 0xf8]
mov esi, dword [eax + 4]
and dword [eax + 4], 0
call fcn.0043ecf2
push esi
push dword [esp + 0x114]
lea ecx, [esp + 0x90]
push dword [esp + 0x114]
call fcn.00431ad9
mov esi, eax
lea eax, [esp + 0x168]
push eax
lea ecx, [esi + 0x28]
call fcn.0042b385
and dword [esi + 0x50], 0
add esi, 0x40
cmp dword [esi + 0x14], 0x10
jb 0x43c9e5
mov esi, dword [esi]
push 0x4c1e25
lea ecx, [esp + 0x1cc]
mov byte [esi], 0
call fcn.00429f4a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x218c]
mov dword [esp + 0x2188], eax
lea eax, [esp + 0x1b0]
push eax
call fcn.0042b3ae
lea eax, [esp + 0x168]
push eax
lea ecx, [esp + 0x21a8]
call fcn.0042b3ae
lea eax, [esp + 0x1c8]
mov byte [esp + 0x21bc], 0
push eax
lea ecx, [esp + 0x21c4]
call fcn.0042b3ae
mov ebx, dword [esp + 0xac]
lea ecx, [esp + 0x2188]
push ecx
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x43ca6c
mov ecx, eax
call fcn.00440021
add dword [ebx + 4], 0x50
jmp 0x43ca74
push eax
mov ecx, ebx
call fcn.0043f457
lea ecx, [esp + 0x2188]
call fcn.0043cf02
lea ecx, [esp + 0x1c8]
call fcn.00429fa9
mov byte [esp + 0x1b], 1
lea ecx, [esp + 0x168]
call fcn.00429fa9
lea ecx, [esp + 0x1b0]
call fcn.00429fa9
lea ecx, [esp + 0x150]
call fcn.00429fa9
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x68]
mov ecx, edx
call fcn.0042b2b4
test al, al
jne 0x43cae6
mov ecx, dword [esp + 0x60]
and ecx, 0xffffffbf
call fcn.00439e82
test al, al
jne 0x43cae6
inc dword [esp + 0xa4]
mov dword [esp + 0xb0], edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x13], 0
call fcn.0042b8bb
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x38]
jb 0x43b2a9
mov ecx, dword [esp + 0xb8]
lea eax, [esp + 0xc4]
push esi
push eax
call fcn.0043db5e
cmp byte [esp + 0x1b], 0
jne 0x43cb26
test al, al
je 0x43cb3d
mov ecx, dword [esp + 0x218]
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add eax, ebx
mov edx, dword [ecx]
push eax
push ebx
push ecx
call dword [edx + 0x40]
lea ecx, [esp + 0x30]
call fcn.0042b897
lea ecx, [esp + 0xc8]
call fcn.0043dd73
lea ecx, [esp + 0x180]
call fcn.00429fa9
lea ecx, [esp + 0x88]
call fcn.0043ddc7
push dword [esp + 0xec]
call fcn.00487120
pop ecx
push dword [esp + 0x120]
call fcn.00487120
pop ecx
push dword [esp + 0x12c]
call fcn.00487120
pop ecx
push dword [esp + 0x138]
call fcn.00487120
pop ecx
mov ecx, dword [esp + 0x25dc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00486c63
mov esp, ebp
pop ebp
ret 0x14
push str.undef
lea ecx, [esp + 0x34]
call fcn.0042f03b
test al, al
je 0x43cab9
cmp byte [ebx + 0x18d3], 0
je 0x43cab9
cmp dword [esp + 0x1c], 0
jne 0x43cab9
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x218]
add eax, 5
lea ecx, [esp + 0x150]
push 0
push eax
call fcn.0043a2a3
pop ecx
pop ecx
lea eax, [esp + 0x150]
mov ecx, ebx
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.0043d91e
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd8]
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 1
jb 0x43cd45
push dword [esp + 0xd8]
lea ecx, [esp + 0x16c]
call fcn.0042b3ae
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x90]
call fcn.0043e6aa
lea ecx, [esp + 0x88]
push dword [eax + 4]
push dword [eax]
call fcn.0043e297
mov ebx, 0x4c1e25
lea ecx, [esp + 0x1b0]
push ebx
call fcn.00429f4a
push ebx
lea ecx, [esp + 0x1cc]
call fcn.00429f4a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x218c]
mov dword [esp + 0x2188], eax
lea eax, [esp + 0x168]
push eax
call fcn.0042b3ae
lea eax, [esp + 0x1c8]
push eax
lea ecx, [esp + 0x21a8]
call fcn.0042b3ae
lea eax, [esp + 0x1b0]
mov byte [esp + 0x21bc], 1
push eax
lea ecx, [esp + 0x21c4]
call fcn.0042b3ae
mov ebx, dword [esp + 0xac]
lea ecx, [esp + 0x2188]
push ecx
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x43cd08
mov ecx, eax
call fcn.00440021
add dword [ebx + 4], 0x50
jmp 0x43cd10
push eax
mov ecx, ebx
call fcn.0043f457
lea ecx, [esp + 0x2188]
call fcn.0043cf02
lea ecx, [esp + 0x1c8]
call fcn.00429fa9
lea ecx, [esp + 0x1b0]
call fcn.00429fa9
lea ecx, [esp + 0x168]
mov byte [esp + 0x1b], 1
call fcn.00429fa9
lea ecx, [esp + 0xd8]
call fcn.0043e342
lea ecx, [esp + 0x150]
jmp 0x43c43d
push esi
lea ecx, [esp + 0x34]
call fcn.0042f03b
mov ecx, dword [esp + 0x4c]
xor edx, edx
mov bl, al
test bl, bl
push 0
sete dl
inc ecx
add edx, 5
add ecx, edx
lea edx, [esp + 0x21c]
push ecx
lea ecx, [esp + 0x170]
call fcn.0043a2a3
mov esi, dword [esp + 0x90]
lea eax, [esp + 0x170]
pop ecx
pop ecx
push eax
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x90]
call fcn.00431ca9
mov edi, dword [esp + 0x144]
cmp byte [edi + 0xd], 0
jne 0x43cdd7
lea eax, [edi + 0x10]
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.00431d6c
test al, al
je 0x43cdde
mov edi, dword [esp + 0x88]
cmp edi, esi
mov esi, dword [esp + 0x80]
setne al
inc esi
mov dword [esp + 0x80], esi
cmp esi, 0x1f
ja 0x43ce2d
cmp bl, al
mov ebx, dword [esp + 0x1c]
jne 0x43ce13
btr ebx, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x2c]
bts ebx, esi
jmp 0x43ce25
bts ebx, esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x2c]
btr ebx, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x168]
jmp 0x43cab0
mov ecx, dword [esp + 0x68]
call fcn.0042d082
test al, al
je 0x43cab5
mov edi, dword [esp + 0xc]
mov eax, edi
or eax, 0xa
jmp 0x43c1e6
cmp byte [esp + 0x98], 0
lea ecx, [esp + 0x30]
mov edi, dword [esp + 0xc]
mov eax, edi
je 0x43ce82
or eax, 8
push eax
call fcn.0042b91d
mov byte [esp + 0x98], 0
jmp 0x43cab9
or eax, 4
jmp 0x43c1ea
call fcn.0042b5c8
call fcn.00486d93
nop
xchg edi, eax
mov eax, -1186463677
inc ebx
add bl, ch
mov eax, 0xb4940043
inc ebx
add byte [ecx - 0x4a], ah
inc ebx
add byte [eax - 0x45], al
inc ebx
add byte [esi], dl
mov ebp, 0xbe240043
inc ebx
add byte [ebx - 0x7effbc49], cl
mov ah, 0x43
add byte [esi*4 - 0x4245ffbd], ah
inc ebx
add cl, al
mov ebp, 0xbd320043
inc ebx
add byte [edi + 0x610043b9], cl
mov dh, 0x43
add bl, ch
mov ecx, 0xb6610043
inc ebx
add byte [ecx - 0x4a], ah
inc ebx
add byte [edi - 0xcffbc44], ah
mov ebp, 0xbc6a0043
inc ebx
add byte [eax - 0x48], ah
inc ebx
add byte [eax - 0x48], ah
inc ebx
add byte [edi], al
mov ch, 0x43
add byte [esi], dh
mov esi, 0xbbe40043
inc ebx
add byte [esi - 0x75], dl
push esi
mov esi, ecx