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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x42c190
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x58
add eax, 4
push ebx
push esi
mov esi, ecx
push eax
mov ecx, dword [eax + 0xc]
mov dword [esi + 0xf8], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0xf4], edx
mov ecx, dword [eax + 0x10]
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 0xf0]
call fcn.004201c8
mov eax, dword [esp + 0x78]
mov ebx, 1
cmp eax, ebx
je 0x408291
mov eax, dword [0x437594]
push ebp
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x80], eax
mov edx, dword [esi + 0xfc]
lea eax, [esp + 0x10]
push edx
push 0x43751c
push eax
mov byte [esp + 0x7c], bl
call fcn.0041f0cd
mov ecx, dword [esi + 0xec]
add esp, 0xc
lea edx, [esp + 0x80]
push ecx
push 0x43751c
push edx
call fcn.0041f0cd
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 0xe8]
add esp, 0xc
cmp eax, ecx
jne 0x406b11
mov eax, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x14], ebp
cmp dword [eax - 8], ebx
jle 0x40826d
mov eax, dword [esp + 0x80]
mov ecx, dword [eax - 8]
mov edi, ebx
cmp ecx, ebx
jle 0x406afa
lea ecx, [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
lea edx, [esp + 0x18]
push ebp
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 2
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x18]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x406547
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 3
je 0x406400
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406402
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x20]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x20]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 4
je 0x406475
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406477
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x24]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 5
je 0x4064f6
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4064f8
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x28]
jmp 0x40671c
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x30]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
lea eax, [esp + 0x2c]
push ebp
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 6
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x2c]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x30]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x406731
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 7
je 0x4065da
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4065dc
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea ecx, [esp + 0x34]
mov dword [ebp + 8], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x34]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 8
je 0x40665b
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40665d
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x38]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x38]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 9
je 0x4066d0
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4066d2
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x3c]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x44]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0xa
mov eax, dword [edx - 8]
sub eax, ebp
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041ec6a
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x40]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x44]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x4068ff
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0xb
je 0x4067c1
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4067c3
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x48]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x48]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0xc
je 0x406836
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406838
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x4c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0xd
je 0x4068b7
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4068b9
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x50]
mov dword [ebp + 8], ecx
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x50]
jmp 0x406ad4
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x58]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 0xe
mov eax, dword [eax - 8]
sub eax, ebp
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0041ec6a
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [edx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x54]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x58]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x406ae9
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0xf
je 0x40699b
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40699d
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe8]
lea edx, [esp + 0x5c]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x10
je 0x406a1c
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406a1e
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe4]
lea ecx, [esp + 0x60]
push edi
push ecx
lea ecx, [esp + 0x88]
mov dword [ebp + 8], eax
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x60]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x11
je 0x406a91
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406a93
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0xf8]
lea ecx, [esp + 0x64]
push eax
push ecx
lea ecx, [esp + 0x18]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x64]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
inc edi
cmp edi, dword [eax - 8]
jl 0x406379
mov edx, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, dword [edx - 8]
jl 0x40636c
jmp 0x40826d
mov edx, dword [esi + 0xe4]
cmp eax, edx
jne 0x4072de
mov eax, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x14], ebp
cmp dword [eax - 8], ebx
jle 0x40826d
mov eax, dword [esp + 0x80]
mov ecx, dword [eax - 8]
mov edi, ebx
cmp ecx, ebx
jle 0x4072c7
lea ecx, [esp + 0x60]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
lea edx, [esp + 0x64]
push ebp
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x12
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x64]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x60]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x406d14
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x13
je 0x406bcd
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406bcf
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x5c]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x14
je 0x406c42
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406c44
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x58]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x15
je 0x406cc3
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406cc5
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x54]
jmp 0x406ee9
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x4c]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
lea eax, [esp + 0x50]
push ebp
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x16
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x50]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x4c]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x406efe
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x17
je 0x406da7
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406da9
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea ecx, [esp + 0x48]
mov dword [ebp + 8], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x48]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x18
je 0x406e28
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406e2a
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x44]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x44]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x19
je 0x406e9d
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406e9f
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x40]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0x1a
mov eax, dword [edx - 8]
sub eax, ebp
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0041ec6a
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x3c]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x38]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x4070cc
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x1b
je 0x406f8e
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x406f90
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x34]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x34]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x1c
je 0x407003
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407005
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x30]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x1d
je 0x407084
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407086
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf8]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2c]
mov dword [ebp + 8], ecx
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x2c]
jmp 0x4072a1
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x24]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
mov byte [esp + 0x70], 0x1e
mov eax, dword [eax - 8]
sub eax, ebp
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0041ec6a
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [edx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x24]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x4072b6
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x1f
je 0x407168
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40716a
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe4]
lea edx, [esp + 0x20]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x20]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x20
je 0x4071e9
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4071eb
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe8]
lea ecx, [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x88]
mov dword [ebp + 8], eax
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x21
je 0x40725e
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407260
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0xf8]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x18]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x18]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
inc edi
cmp edi, dword [eax - 8]
jl 0x406b46
mov edx, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, dword [edx - 8]
jl 0x406b39
jmp 0x40826d
mov eax, dword [esi + 0xf8]
cmp eax, ecx
jne 0x407aab
mov eax, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x14], ebp
cmp dword [eax - 8], ebx
jle 0x40826d
mov eax, dword [esp + 0x80]
mov ecx, dword [eax - 8]
mov edi, ebx
cmp ecx, ebx
jle 0x407a94
lea ecx, [esp + 0x60]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
lea edx, [esp + 0x64]
push ebp
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x22
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x64]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x60]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x4074e1
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x23
je 0x40739a
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40739c
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x5c]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x24
je 0x40740f
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407411
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x58]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x25
je 0x407490
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407492
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x54]
jmp 0x4076b6
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x4c]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
lea eax, [esp + 0x50]
push ebp
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x26
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x50]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x4c]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x4076cb
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x27
je 0x407574
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407576
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea ecx, [esp + 0x48]
mov dword [ebp + 8], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x48]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x28
je 0x4075f5
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4075f7
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x44]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x44]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x29
je 0x40766a
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40766c
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x40]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0x2a
mov eax, dword [edx - 8]
sub eax, ebp
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0041ec6a
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x3c]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x38]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x407899
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x2b
je 0x40775b
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40775d
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x34]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x34]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x2c
je 0x4077d0
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4077d2
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x30]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x2d
je 0x407851
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407853
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2c]
mov dword [ebp + 8], ecx
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x2c]
jmp 0x407a6e
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x24]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
mov byte [esp + 0x70], 0x2e
mov eax, dword [eax - 8]
sub eax, ebp
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0041ec6a
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [edx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x24]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x407a83
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x2f
je 0x407935
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407937
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe8]
lea edx, [esp + 0x20]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x20]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x30
je 0x4079b6
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4079b8
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe4]
lea ecx, [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x88]
mov dword [ebp + 8], eax
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x31
je 0x407a2b
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407a2d
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0xf4]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x18]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x18]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
inc edi
cmp edi, dword [eax - 8]
jl 0x407313
mov edx, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, dword [edx - 8]
jl 0x407306
jmp 0x40826d
cmp eax, edx
jne 0x40826d
mov eax, dword [esp + 0x10]
mov ebp, ebx
mov dword [esp + 0x14], ebp
cmp dword [eax - 8], ebx
jle 0x40826d
mov eax, dword [esp + 0x80]
mov ecx, dword [eax - 8]
mov edi, ebx
cmp ecx, ebx
jle 0x40825b
lea ecx, [esp + 0x60]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
lea edx, [esp + 0x64]
push ebp
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x32
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x64]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x60]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x407ca8
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x33
je 0x407b61
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407b63
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x5c]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x34
je 0x407bd6
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407bd8
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x58]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x35
je 0x407c57
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407c59
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x54]
jmp 0x407e7d
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x4c]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
lea eax, [esp + 0x50]
push ebp
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 0x36
call fcn.0041ece6
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x50]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x4c]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x407e92
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x37
je 0x407d3b
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407d3d
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea ecx, [esp + 0x48]
mov dword [ebp + 8], edx
mov eax, dword [esp + 0x80]
mov eax, dword [eax - 8]
sub eax, edi
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x48]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x38
je 0x407dbc
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407dbe
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe8]
lea eax, [esp + 0x44]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x44]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x39
je 0x407e31
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407e33
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, ecx
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x40]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
lea ecx, [esp + 0x38]
push edi
push ecx
lea ecx, [esp + 0x88]
call fcn.0041ece6
mov dword [esp + 0x78], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0x3a
mov eax, dword [edx - 8]
sub eax, ebp
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0041ec6a
mov ecx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ecx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x3c]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x38]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x408060
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x3b
je 0x407f22
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407f24
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov edx, dword [esi + 0xe4]
lea eax, [esp + 0x34]
push edi
push eax
lea ecx, [esp + 0x88]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x34]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x3c
je 0x407f97
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x407f99
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xe8]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x30]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x3d
je 0x408018
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40801a
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov ecx, dword [esi + 0xf4]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x2c]
mov dword [ebp + 8], ecx
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x2c]
jmp 0x408235
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x24]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x28]
mov byte [esp + 0x70], 0x3e
mov eax, dword [eax - 8]
sub eax, ebp
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0041ec6a
mov edx, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [edx]
push ecx
push eax
call fcn.0041119e
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete byte [esp + 0x78]
call fcn.0042008f
lea ecx, [esp + 0x24]
mov byte [esp + 0x70], bl
call fcn.0042008f
mov al, byte [esp + 0x78]
test al, al
je 0x40824a
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x3f
je 0x4080fc
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4080fe
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe4]
lea edx, [esp + 0x20]
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x80]
sub eax, edi
push eax
push edx
call fcn.0041ec6a
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x20]
mov dword [ebp + 0xc], eax
call fcn.0042008f
lea ecx, [esi + 0x368]
push ebp
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x40
je 0x40817d
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x40817f
xor ebp, ebp
lea eax, [esi + 0xe0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esi + 0xe8]
lea ecx, [esp + 0x1c]
push edi
push ecx
lea ecx, [esp + 0x88]
mov dword [ebp + 8], eax
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [ebp + 0xc], eax
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
push 0x10
call fcn.00420419
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
mov byte [esp + 0x70], 0x41
je 0x4081f2
mov ecx, eax
call fcn.004012a0
mov ebp, eax
jmp 0x4081f4
xor ebp, ebp
lea eax, [esi + 0xf0]
lea ecx, [ebp + 4]
push eax
mov byte [esp + 0x74], bl
call fcn.004201c8
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0xf4]
lea ecx, [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x18]
mov dword [ebp + 8], edx
call fcn.0041ece6
mov eax, dword [eax]
push eax
call fcn.00410d8a
add esp, 4
mov dword [ebp + 0xc], eax
lea ecx, [esp + 0x18]
call fcn.0042008f
push ebp
lea ecx, [esi + 0x368]
call fcn.0041f6b5
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
inc edi
cmp edi, dword [eax - 8]
jl 0x407ada
mov edx, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x14], ebp
cmp ebp, dword [edx - 8]
jl 0x407acd
lea ecx, [esp + 0x80]
mov byte [esp + 0x70], 0
call fcn.0042008f
lea ecx, [esp + 0x10]
mov dword [esp + 0x70], 0xffffffff
call fcn.0042008f
pop edi
pop ebp
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0xf4]
mov edx, dword [esi + 0xfc]
mov dword [esi + 0xe8], eax
lea eax, [esi + 0xf0]
mov dword [esi + 0xe4], ecx
push eax
lea ecx, [esi + 0xe0]
mov dword [esi + 0xec], edx
call fcn.004201c8
mov ecx, dword [esp + 0x60]
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x64
ret 0xc