Function at 0x43b8a0
Capabilities:
Inspect section memory permissions
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x460ab6
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x48fc50]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x44], edi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x64], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x24], ebx
push 0x470150
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
call fcn.00458414
lea ecx, [ebp - 0x50]
call fcn.0045841a
mov byte [edi + 0x3c], bl
call fcn.00427560
test al, al
jne 0x43caee
lea ecx, [ebp - 0x118]
call fcn.0041eef0
push ebx
lea ecx, [ebp - 0x118]
mov dword [ebp - 4], ebx
call fcn.0041fb50
call fcn.004584f2
mov esi, dword [0x4661dc]
test eax, eax
je 0x43b950
call fcn.004584f2
push 0x60
push dword [eax + 0xa8]
push 0x1c2
call esi
mov dword [ebp - 0x40], eax
jmp 0x43b957
mov dword [ebp - 0x40], 0x1c2
call fcn.004584f2
test eax, eax
je 0x43b976
call fcn.004584f2
push 0x60
push dword [eax + 0xac]
push 0x212
call esi
jmp 0x43b97b
mov eax, 0x212
cmp byte [edi + 0x3d], 0
jne 0x43b9a5
call fcn.004584f2
test eax, eax
je 0x43b9a0
call fcn.004584f2
push 0x60
push dword [eax + 0xac]
push 0x14a
call esi
jmp 0x43b9a5
mov eax, 0x14a
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], ecx
lea ecx, [ebp - 0x118]
push eax
mov byte [ebp - 0xc4], 0
mov byte [ebp - 0xcc], 0
call fcn.0041fb30
push 0x38
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], 0x43c250
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], 0x43a4c0
call fcn.00458bf6
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x43ba51
lea eax, [ebp - 0x9c]
mov ecx, edi
push eax
call fcn.0043cd80
push 0x467398
push eax
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 2
push eax
mov dword [ebp - 0x24], 1
call fcn.00403900
add esp, 0xc
mov ebx, 3
mov dword [ebp - 4], 3
push eax
mov ecx, esi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
call fcn.0041c030
mov esi, eax
mov dword [ebp - 0x54], eax
jmp 0x43ba56
xor esi, esi
mov dword [ebp - 0x54], esi
test bl, 2
je 0x43ba6c
and ebx, 0xfffffffd
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 0
test bl, 1
je 0x43ba89
and ebx, 0xfffffffe
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
push 0x468b44
lea ecx, [ebp - 0x50]
call fcn.00458414
mov byte [ebp - 4], 6
call fcn.004584f2
test eax, eax
je 0x43baba
call fcn.004584f2
push 0x60
push dword [eax + 0xac]
push 0xe
call dword [0x4661dc]
jmp 0x43babf
mov eax, 0xe
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x58]
call fcn.004588ac
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call fcn.0045841a
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x43bb3a
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xa
push 0x1125
or ebx, 4
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403da0
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0xb
push ecx
mov ecx, dword [ebp - 0x28]
or ebx, 8
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov dword [ebp - 0x24], eax
jmp 0x43bb41
mov dword [ebp - 0x24], 0
test bl, 8
je 0x43bb54
and ebx, 0xfffffff7
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 8
test bl, 4
je 0x43bb6e
and ebx, 0xfffffffb
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x43bbe6
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xf
push 0x1126
or ebx, 0x10
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403da0
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x10
push ecx
mov ecx, dword [ebp - 0x28]
or ebx, 0x20
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov dword [ebp - 0x24], eax
jmp 0x43bbed
mov dword [ebp - 0x24], 0
test bl, 0x20
je 0x43bc00
and ebx, 0xffffffdf
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 8
test bl, 0x10
je 0x43bc1a
and ebx, 0xffffffef
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x43bc95
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x14
push 0x1127
or ebx, 0x40
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403da0
add esp, 8
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x15
push ecx
mov ecx, dword [ebp - 0x28]
or ebx, 0x80
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov dword [ebp - 0x24], eax
jmp 0x43bc9c
mov dword [ebp - 0x24], 0
test bl, bl
jns 0x43bcb1
and ebx, 0xffffff7f
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 8
test bl, 0x40
je 0x43bccb
and ebx, 0xffffffbf
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x43bd48
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
or ebx, 0x100
mov byte [ebp - 4], 0x19
push 0x466f80
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x24], ebx
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
or ebx, 0x200
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov dword [ebp - 0x24], eax
jmp 0x43bd4f
mov dword [ebp - 0x24], 0
test ebx, 0x200
je 0x43bd68
and ebx, 0xfffffdff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 8
test ebx, 0x100
je 0x43bd88
and ebx, 0xfffffeff
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x1d
test eax, eax
je 0x43be1d
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x1e
or ebx, 0x400
mov ecx, edi
push eax
mov dword [ebp - 0x24], ebx
mov esi, ebx
call fcn.0043cb10
push 0x467398
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 0x1f
or ebx, 0x800
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403900
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x20
push ecx
mov ecx, dword [ebp - 0x28]
mov ebx, esi
or ebx, 0x1800
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
jmp 0x43be24
mov dword [ebp - 0x24], 0
test ebx, 0x1000
je 0x43be3d
and ebx, 0xffffefff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
test ebx, 0x800
je 0x43be56
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 8
test ebx, 0x400
je 0x43be76
and ebx, 0xfffffbff
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
lea ecx, [ebp - 0x60]
call fcn.00458420
mov eax, dword [edi + 8]
mov byte [ebp - 4], 0x24
cmp eax, 9
jne 0x43beda
mov ecx, dword [0x49190c]
lea eax, [ebp - 0x18]
push eax
call fcn.0043cd20
mov eax, dword [eax]
test eax, eax
je 0x43beb0
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
jmp 0x43beb7
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x18]
call fcn.0045841a
cmp dword [ebp - 0x24], 0x19
jne 0x43bf38
mov ecx, dword [0x49190c]
lea eax, [ebp - 0x18]
push eax
call fcn.0043cd20
mov byte [ebp - 4], 0x25
jmp 0x43bf23
cmp eax, 1
jne 0x43bf38
mov ecx, dword [0x49190c]
lea eax, [ebp - 0x18]
push eax
call fcn.00403d70
mov eax, dword [eax]
test eax, eax
je 0x43befb
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
jmp 0x43bf02
mov dword [ebp - 0x24], 0
lea ecx, [ebp - 0x18]
call fcn.0045841a
cmp dword [ebp - 0x24], 0x19
jne 0x43bf38
mov ecx, dword [0x49190c]
lea eax, [ebp - 0x18]
push eax
call fcn.00403d70
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x60]
call fcn.00458456
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x24
call fcn.0045841a
mov eax, dword [edi + 0x8c]
test al, 1
jne 0x43bf49
mov byte [edi + 0x88], 0
test al, 2
jne 0x43bf54
mov byte [edi + 0x89], 0
cmp dword [edi + 8], 0xa
jne 0x43bf67
push 0x466f80
lea ecx, [ebp - 0x60]
call fcn.0045845c
push 0x128
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x27
test eax, eax
je 0x43bfc0
push 0x470170
lea ecx, [ebp - 0x3c]
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x60]
push eax
lea eax, [edi + 0x60]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], edi
push eax
or ebx, 0x2000
mov dword [ebp - 0x2c], 0x43a020
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
push eax
mov dword [ebp - 0x24], ebx
call fcn.004182c0
jmp 0x43bfc2
xor eax, eax
mov dword [edi + 0x2c], eax
mov dword [ebp - 4], 0x24
test ebx, 0x2000
je 0x43bfe5
and ebx, 0xffffdfff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
push dword [edi + 0x2c]
mov ecx, esi
call fcn.0041c160
push 0xd0
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x43c056
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
or ebx, 0x4000
mov byte [ebp - 4], 0x2b
push 0x466f80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x24], ebx
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x3c]
push eax
or ebx, 0x8000
mov dword [ebp - 4], 0x2c
lea eax, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418280
mov dword [ebp - 0x24], eax
jmp 0x43c05d
mov dword [ebp - 0x24], 0
test ebx, 0x8000
je 0x43c076
and ebx, 0xffff7fff
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
mov dword [ebp - 4], 0x24
test ebx, 0x4000
je 0x43c096
and ebx, 0xffffbfff
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], ebx
call fcn.0045841a
push dword [ebp - 0x24]
mov ecx, esi
call fcn.0041c160
lea ecx, [ebp - 0x7c]
call fcn.004584e6
push 0x7c
mov byte [ebp - 4], 0x2f
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x30
test eax, eax
je 0x43c0d2
push dword [edi + 0x18]
mov ecx, eax
call fcn.004589d2
mov ebx, eax
mov dword [ebp - 0x28], eax
jmp 0x43c0d7
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0x2f
call fcn.004584f2
test eax, eax
je 0x43c100
call fcn.004584f2
push 0x60
push dword [eax + 0xac]
push 0x34
call dword [0x4661dc]
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x43c108
mov esi, 0x34
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x40]
mov ecx, ebx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push 1
push eax
mov dword [ebp - 0x2c], esi
call fcn.00458930
mov eax, dword [ebp - 0x40]
mov ecx, ebx
mov dword [ebp - 0x18], eax
mov eax, 0x3c
mov word [ebp - 0x4a], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x4e]
mov dword [ebp - 0x20], 0
push eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x4e], 0xb40028
call fcn.004587e6
push 0xfffff
push 0
lea esi, [edi + 0x10]
mov ecx, ebx
push esi
lea eax, [ebp - 0x18]
push eax
call fcn.00458a1a
mov ecx, dword [ebp - 0x24]
push esi
mov esi, dword [ebp - 0x40]
sub esp, 8
mov edi, dword [eax + 4]
mov ebx, dword [eax]
mov eax, esp
mov dword [eax + 4], ecx
mov dword [eax], esi
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, esi
mov esi, dword [ebp - 0x28]
sub eax, ebx
cdq
sub ecx, edi
sub eax, edx
mov dword [ebp - 0x2c], ecx
sar eax, 1
mov ecx, esi
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
call fcn.00458b5e
mov eax, dword [ebp - 0x40]
mov ecx, esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x38], 0
push eax
call fcn.0045886a
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x31
call fcn.00458864
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
call fcn.004584ec
test esi, esi
je 0x43c1fa
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push 0xe0
call fcn.00458bf6
mov esi, eax
add esp, 4
mov dword [ebp - 0x4c], esi
mov byte [ebp - 4], 0x32
test esi, esi
je 0x43c244
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
mov ebx, dword [ebp - 0x34]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x33
or ebx, 0x10000
mov ecx, esi
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418060
mov esi, eax
jmp 0x43c249
mov ebx, dword [ebp - 0x34]
xor esi, esi
mov dword [ebp - 4], 0x2f
test ebx, 0x10000
je 0x43c266
lea ecx, [ebp - 0x30]
and ebx, 0xfffeffff
call fcn.0045841a
mov edi, dword [ebp - 0x54]
mov ecx, edi
push esi
mov byte [esi + 0xa0], 1
call fcn.0041c160
push 0xe0
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x35
test eax, eax
je 0x43c334
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
or ebx, 0x20000
mov byte [ebp - 4], 0x36
push 0x467398
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
call fcn.00458414
mov esi, eax
mov eax, ebx
mov dword [ebp - 4], 0x37
or eax, 0x40000
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x3c]
push 0xd90
push eax
call fcn.00403da0
push esi
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x38
or edi, 0xc0000
push eax
mov dword [ebp - 0x24], edi
call fcn.00403820
add esp, 0x14
mov ecx, eax
mov esi, dword [ebp - 0x44]
or ebx, 0x1c0000
push 0
push 0
push 1
push 0
push 4
lea eax, [esi + 0x1c]
mov dword [ebp - 4], 0x39
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x24], ebx
push eax
push ecx
mov ecx, dword [ebp - 0x28]
call fcn.004181a0
mov edi, dword [ebp - 0x54]
jmp 0x43c339
mov esi, dword [ebp - 0x44]
xor eax, eax
mov dword [esi + 0x40], eax
test ebx, 0x100000
je 0x43c352
lea ecx, [ebp - 0x18]
and ebx, 0xffefffff
call fcn.0045841a
test ebx, 0x80000
je 0x43c368
lea ecx, [ebp - 0x3c]
and ebx, 0xfff7ffff
call fcn.0045841a
test ebx, 0x40000
je 0x43c37e
lea ecx, [ebp - 0x50]
and ebx, 0xfffbffff
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test ebx, 0x20000
je 0x43c39b
lea ecx, [ebp - 0x30]
and ebx, 0xfffdffff
call fcn.0045841a
mov eax, dword [esi + 0x40]
lea ecx, [ebp - 0xa4]
mov dword [eax + 0x4c], 0x41
mov eax, dword [esi + 0x40]
mov dword [eax + 0x50], 0x23
mov eax, dword [esi + 0x40]
mov byte [eax + 0xb4], 1
mov eax, dword [esi + 0x40]
mov byte [eax + 0xd7], 0
mov eax, dword [esi + 0x40]
add eax, 0x3c
cmp eax, ecx
je 0x43c3dc
mov dword [eax], esi
mov dword [eax + 4], 0x41fc20
push dword [esi + 0x40]
mov ecx, edi
call fcn.0041c160
cmp byte [esi + 0x3d], 0
je 0x43c8a2
push 0xd0
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x3e
test eax, eax
je 0x43c454
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
or ebx, 0x200000
mov byte [ebp - 4], 0x3f
push 0x466f80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x24], ebx
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x40
or ebx, 0x400000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418280
mov dword [ebp - 0x28], eax
jmp 0x43c45b
mov dword [ebp - 0x28], 0
test ebx, 0x400000
je 0x43c471
lea ecx, [ebp - 0x30]
and ebx, 0xffbfffff
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test ebx, 0x200000
je 0x43c48e
lea ecx, [ebp - 0x3c]
and ebx, 0xffdfffff
call fcn.0045841a
push dword [ebp - 0x28]
mov ecx, edi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x43
test eax, eax
je 0x43c523
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x44
or ebx, 0x800000
push 0xf26
push eax
mov dword [ebp - 0x24], ebx
mov esi, ebx
call fcn.00403da0
push 0x467398
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x45
or ebx, 0x1000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403900
add esp, 0x14
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x46
push ecx
mov ecx, dword [ebp - 0x28]
mov ebx, esi
or ebx, 0x3000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
jmp 0x43c52a
mov dword [ebp - 0x28], 0
test ebx, 0x2000000
je 0x43c540
lea ecx, [ebp - 0x18]
and ebx, 0xfdffffff
call fcn.0045841a
test ebx, 0x1000000
je 0x43c556
lea ecx, [ebp - 0x3c]
and ebx, 0xfeffffff
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test ebx, 0x800000
je 0x43c573
lea ecx, [ebp - 0x30]
and ebx, 0xff7fffff
call fcn.0045841a
push dword [ebp - 0x28]
mov ecx, edi
call fcn.0041c160
lea ecx, [esi + 0x58]
push 0x470178
call fcn.0045845c
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x4a
test eax, eax
je 0x43c5ce
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
lea eax, [esi + 0x58]
mov byte [ebp - 4], 0x4b
or ebx, 0x4000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418250
jmp 0x43c5d0
xor eax, eax
mov dword [esi + 0x54], eax
mov dword [ebp - 4], 0x2f
test ebx, 0x4000000
je 0x43c5f0
lea ecx, [ebp - 0x30]
and ebx, 0xfbffffff
call fcn.0045841a
push dword [esi + 0x54]
mov ecx, edi
call fcn.0041c160
push 0xc8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x4d
test eax, eax
je 0x43c685
push 0x466f80
lea ecx, [ebp - 0x30]
call fcn.00458414
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x4e
or ebx, 0x8000000
push 0xda7
push eax
mov dword [ebp - 0x24], ebx
mov esi, ebx
call fcn.00403da0
push 0x467398
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4f
or ebx, 0x10000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00403900
add esp, 0x14
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x50
push ecx
mov ecx, dword [ebp - 0x28]
mov ebx, esi
or ebx, 0x30000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418250
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
jmp 0x43c68c
mov dword [ebp - 0x28], 0
test ebx, 0x20000000
je 0x43c6a2
lea ecx, [ebp - 0x18]
and ebx, 0xdfffffff
call fcn.0045841a
test ebx, 0x10000000
je 0x43c6b8
lea ecx, [ebp - 0x3c]
and ebx, 0xefffffff
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test ebx, 0x8000000
je 0x43c6d5
lea ecx, [ebp - 0x30]
and ebx, 0xf7ffffff
call fcn.0045841a
push dword [ebp - 0x28]
mov ecx, edi
call fcn.0041c160
push 0xd0
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x54
test eax, eax
je 0x43c743
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
or ebx, 0x40000000
mov byte [ebp - 4], 0x55
push 0x4701b0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x24], ebx
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x56
or ebx, 0x80000000
push eax
mov dword [ebp - 0x24], ebx
call fcn.00418220
mov dword [ebp - 0x28], eax
jmp 0x43c74a
mov dword [ebp - 0x28], 0
test ebx, ebx
jns 0x43c75c
lea ecx, [ebp - 0x30]
and ebx, 0x7fffffff
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test ebx, 0x40000000
je 0x43c773
lea ecx, [ebp - 0x3c]
call fcn.0045841a
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0xac]
lea eax, [ecx + 0x1c]
cmp eax, edx
je 0x43c78c
mov dword [eax], esi
mov dword [eax + 4], 0x43c220
push ecx
mov ecx, edi
call fcn.0041c160
push 0x128
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x59
test eax, eax
je 0x43c7e1
push 0x470210
lea ecx, [ebp - 0x3c]
call fcn.00458414
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x5a
mov ebx, 1
mov dword [ebp - 0x30], esi
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2c], 0x439ff0
call fcn.00417fd0
jmp 0x43c7e6
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [esi + 0x30], eax
mov dword [ebp - 4], 0x2f
test bl, 1
je 0x43c800
lea ecx, [ebp - 0x3c]
and ebx, 0xfffffffe
call fcn.0045841a
push dword [esi + 0x30]
mov ecx, edi
call fcn.0041c160
push 0xd0
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x5c
test eax, eax
je 0x43c868
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
or ebx, 2
mov byte [ebp - 4], 0x5d
push 0x466f80
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x40], ebx
call fcn.00458414
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x5e
or ebx, 4
push eax
mov dword [ebp - 0x40], ebx
call fcn.00418280
mov dword [ebp - 0x28], eax
jmp 0x43c86f
mov dword [ebp - 0x28], 0
test bl, 4
je 0x43c87f
lea ecx, [ebp - 0x30]
and ebx, 0xfffffffb
call fcn.0045841a
mov dword [ebp - 4], 0x2f
test bl, 2
je 0x43c896
lea ecx, [ebp - 0x3c]
and ebx, 0xfffffffd
call fcn.0045841a
push dword [ebp - 0x28]
mov ecx, edi
call fcn.0041c160
jmp 0x43c8a5
mov ebx, dword [ebp - 0x48]
lea eax, [ebp - 0x74]
push 0xd9f
push eax
call fcn.00403da0
add esp, 8
cmp dword [esi + 8], 9
mov byte [ebp - 4], 0x61
jne 0x43c8ea
lea eax, [ebp - 0x18]
push 0xaca
push eax
call fcn.00403da0
add esp, 8
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x62
call fcn.00458456
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x61
call fcn.0045841a
push 0xd8
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x63
test eax, eax
je 0x43c93c
push 0x466f80
lea ecx, [ebp - 0x3c]
call fcn.00458414
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0x64
push eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x30], esi
or ebx, 8
mov dword [ebp - 0x2c], 0x439f60
push eax
mov dword [ebp - 0x40], ebx
call fcn.00418110
mov dword [ebp - 0x44], eax
jmp 0x43c943
mov dword [ebp - 0x44], 0
mov dword [ebp - 4], 0x61
test bl, 8
je 0x43c95a
lea ecx, [ebp - 0x3c]
and ebx, 0xfffffff7
call fcn.0045841a
call fcn.004584f2
test eax, eax
je 0x43c97f
call fcn.004584f2
push 0x60
push dword [eax + 0xa8]
push 0x96
call dword [0x4661dc]
mov ecx, eax
jmp 0x43c984
mov ecx, 0x96
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x90], ecx
call fcn.004584f2
test eax, eax
je 0x43c9af
call fcn.004584f2
push 0x60
push dword [eax + 0xac]
push 0x1e
call dword [0x4661dc]
mov ecx, eax
jmp 0x43c9b4
mov ecx, 0x1e
mov eax, dword [ebp - 0x44]
movsd xmm0, qword [0x46a970]
push eax
mov dword [eax + 0x94], ecx
mov ecx, edi
mov dword [eax + 0x98], 1
movsd qword [eax + 0x68], xmm0
call fcn.0041c160
push 0x418
call fcn.00458bf6
add esp, 4
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x66
test eax, eax
je 0x43ca5b
push 0x470170
lea ecx, [ebp - 0x3c]
call fcn.00458414
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x67
or ebx, 0x10
mov ecx, esi
push eax
mov dword [ebp - 0x40], ebx
call fcn.0043cb10
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0x68
push ecx
mov ecx, dword [ebp - 0x48]
or ebx, 0x20
push eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x40], ebx
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x30], 0
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0x6c]
push eax
push eax
push edi
push dword [ebp - 0x64]
call fcn.0041dc90
jmp 0x43ca5d
xor eax, eax
mov dword [esi + 0xc], eax
test bl, 0x20
je 0x43ca70
lea ecx, [ebp - 0x18]
and ebx, 0xffffffdf
call fcn.0045841a
mov dword [ebp - 4], 0x61
test bl, 0x10
je 0x43ca84
lea ecx, [ebp - 0x3c]
call fcn.0045841a
mov ecx, dword [esi + 0x90]
call fcn.0045859a
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x17c]
cmp eax, 1
jne 0x43caa2
mov byte [esi + 0x3c], al
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x43cab0
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [esi + 0xc], 0
test edi, edi
je 0x43cac3
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
lea ecx, [ebp - 0x74]
call fcn.0045841a
lea ecx, [ebp - 0x7c]
call fcn.004584ec
lea ecx, [ebp - 0x60]
call fcn.0045841a
lea ecx, [ebp - 0x58]
call fcn.0045883a
lea ecx, [ebp - 0x118]
call fcn.0041ef90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004596b9
mov esp, ebp
pop ebp
ret 4