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

Disassembly:
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x75], 1
jne 0x405e95
mov al, 1
mov byte [0x418a89], al
mov ax, 0x340
mov word [0x418a8a], ax
mov esi, edi
mov eax, dword [esi + 0xfc]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1c4], ebx
mov al, 0xf4
mov byte [0x41ba90], al
mov al, 0
mov byte [0x41b31b], al
mov edi, ebx
cmp byte [edi], 0xf2
jne 0x406ce9
mov edi, esi
cmp byte [edi + 0x75], 1
jne 0x405eef
mov al, 1
mov byte [0x418a89], al
mov ax, 0x144
mov word [0x418a8a], ax
mov esi, ebx
mov eax, dword [esi]
mov dword [0x418a98], eax
mov eax, dword [esi + 4]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x1c4]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xdc], ebx
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c8], ebx
mov edi, dword [ebp - 0x1d8]
cmp dword [edi + 0x1a0], 0
je 0x405f33
mov esi, edi
mov ebx, dword [esi + 0x1a0]
mov dword [ebp - 0x1cc], ebx
call fcn.00405c9f
mov edi, dword [ebp - 0x1d8]
cmp dword [edi + 0x268], 0
je 0x405f55
mov esi, edi
mov ebx, dword [esi + 0x268]
mov dword [ebp - 0x1cc], ebx
call fcn.00405c9f
mov edi, dword [ebp - 0x1d8]
cmp dword [edi + 0x26c], 0
je 0x405f77
mov esi, edi
mov ebx, dword [esi + 0x26c]
mov dword [ebp - 0x1cc], ebx
call fcn.00405c9f
mov esi, dword [ebp - 0xdc]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
mov edi, ebx
cmp byte [edi + 0x72], 1
jne 0x405f98
call fcn.00405af0
mov edi, dword [ebp - 0x1cc]
cmp byte [edi + 0x2f], 8
jne 0x406037
cmp word [edi + 0x46], 0
je 0x406037
mov al, 1
mov byte [0x418a89], al
mov ax, 0x794a
mov word [0x418a8a], ax
mov esi, edi
movzx edx, word [esi + 0x46]
bswap edx
mov dword [0x418a98], edx
call fcn.0040b4e5
mov edi, 0x41aea0
sub eax, eax
lea ecx, [eax + 0xb]
rep stosd dword es:[edi], eax
mov esi, dword [ebp - 0x1cc]
movzx edx, word [esi + 0x46]
bswap edx
mov dword [edi - 0x24], edx
call fcn.0040b0a7
mov esi, 0x4152d8
mov dword [ebp - 0x14], esi
push 0x41aea0
mov ebx, dword [0x41ae60]
or ebx, ebx
jne 0x40601e
add esp, 4
lea eax, [esi - 0x18]
mov ecx, 0x1308
call fcn.00414a56
mov al, 1
call ebx
test edx, 0xea1d
add esp, 4
bswap eax
mov dword [0x423ce0], eax
call fcn.0040aff7
mov esi, dword [ebp - 0xdc]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
mov esi, ebx
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
mov esi, dword [ebp - 0x1d8]
add esi, 0xf0
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1a0], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x1a0], ebx
mov edi, dword [ebp - 0x1a0]
cmp dword [edi + 4], 0
je 0x406136
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x1a0], ebx
mov edi, ebx
cmp byte [edi + 0x40], 8
je 0x4060c9
cmp byte [edi + 0x40], 4
jne 0x406090
cmp byte [edi], 0xf6
jne 0x406090
mov esi, edi
mov ebx, dword [esi + 0x3c]
mov edi, dword [ebp - 0x1cc]
cmp edi, ebx
jne 0x406090
mov edi, dword [ebp - 0x1c4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
mov esi, dword [ebp - 0x1d8]
add esi, 0xf0
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1a0], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 4
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x1a0], ebx
jmp 0x406090
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x104]
mov dword [ebp - 0x128], ebx
mov edi, dword [ebp - 0x128]
cmp dword [edi + 4], 0
je 0x40619d
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x128], ebx
mov esi, ebx
mov ebx, dword [esi + 0x10]
mov edi, dword [ebp - 0x1cc]
cmp edi, ebx
jne 0x406148
mov edi, dword [ebp - 0x1b4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x78], 0
je 0x406299
mov esi, edi
mov ebx, dword [esi + 0x78]
mov dword [ebp - 0x168], ebx
mov esi, ebx
mov eax, dword [esi + 4]
mov dword [edi + 0x78], eax
mov edi, esi
cmp byte [edi], 0xa7
jne 0x406240
mov esi, 0x418f94
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x19c], ebx
mov esi, edi
mov edi, ebx
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov al, 3
mov byte [edi + 0x24], al
mov al, 1
mov byte [edi + 0x27], al
push 0xffffffffffffff8d
call fcn.0040e8ce
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x406222
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x16c], ebx
mov esi, dword [ebp - 0x168]
mov edi, ebx
mov ax, word [esi + 0x10]
sub word [edi + 0x1e], ax
mov esi, dword [ebp - 0x168]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
jmp 0x40619d
cmp byte [edi], 0x93
jne 0x40619d
push 0xffffffffffffffbc
call fcn.00413ee6
mov esi, 0x418f94
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x19c], ebx
mov esi, dword [ebp - 0x168]
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x12c], ebx
mov esi, ebx
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 8]
mov dword [edi + 0x28], eax
mov eax, dword [0x41be30]
mov dword [edi + 0x20], eax
push 0xffffffffffffffbd
call fcn.00413f66
jmp 0x40619d
cmp dword [edi + 0x34], 0
je 0x4066af
mov esi, edi
mov ebx, dword [esi + 0x34]
cmp edi, ebx
je 0x4066af
mov esi, edi
or eax, 0xffffffff
cmp dword [esi + 0x34], eax
je 0x4066af
mov esi, edi
mov ebx, dword [esi + 0x34]
mov dword [ebp - 0x1c8], ebx
call fcn.00401387
cmp byte [0x423d90], 0
jne 0x40669c
mov edi, dword [ebp - 0x1c8]
cmp byte [edi + 0x56], 1
jne 0x406312
mov esi, 0x41b658
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x10c
mov dword [esi + 0x430], eax
mov al, 0xf4
mov byte [esi + 0x438], al
jmp 0x406438
cmp byte [edi + 0x56], 2
jne 0x406343
mov esi, 0x41b618
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x40
mov dword [esi + 0x470], eax
mov al, 0xf4
mov byte [esi + 0x478], al
jmp 0x406438
cmp byte [edi + 0x56], 3
jne 0x406374
mov esi, 0x41b768
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x165
mov dword [esi + 0x320], eax
mov al, 0xf4
mov byte [esi + 0x328], al
jmp 0x406438
cmp byte [edi + 0x56], 4
je 0x406380
cmp byte [edi + 0x56], 5
jne 0x4063d1
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x68], 0
je 0x4063a9
mov eax, 0x48
mov dword [0x41ba88], eax
mov al, 0xf5
mov byte [0x41ba90], al
mov al, 1
mov byte [0x41b31b], al
jmp 0x406438
mov esi, 0x41b8d0
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x61
mov dword [esi + 0x1b8], eax
mov al, 0xf4
mov byte [esi + 0x1c0], al
jmp 0x406438
call fcn.004013b0
cmp byte [0x423d90], 0
jne 0x406407
mov esi, 0x41b938
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x15
mov dword [esi + 0x150], eax
mov al, 0xf4
mov byte [esi + 0x158], al
jmp 0x406438
mov esi, 0x41b410
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b8], ebx
mov eax, 0x4c
mov dword [esi + 0x678], eax
mov al, 0xf4
mov byte [esi + 0x680], al
mov edi, dword [ebp - 0x1c8]
sub ecx, ecx
mov dword [edi + 0x34], ecx
add dword [0x41ba88], 8
call fcn.0040a198
cmp byte [0x41ba91], 0
jne 0x40663b
mov edi, dword [ebp - 0x1c8]
cmp byte [edi + 0x56], 4
jne 0x406469
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x68], 0
jne 0x406481
mov edi, dword [ebp - 0x1c8]
cmp byte [edi + 0x56], 5
jne 0x4064ea
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x68], 0
je 0x4064ea
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1a0], ebx
lea edi, [ebx + 8]
sub eax, eax
lea ecx, [eax + 0x10]
rep stosd dword es:[edi], eax
mov edi, ebx
mov al, 0xf6
mov byte [edi], al
mov al, 0x40
mov byte [edi + 0x40], al
mov esi, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x68]
mov dword [edi + 0x24], eax
mov edi, esi
mov dword [edi + 0x68], ecx
mov esi, dword [ebp - 0x1c8]
mov edi, ebx
mov dword [edi + 0x20], esi
call fcn.0040bed1
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1c4], ebx
mov esi, ebx
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
jmp 0x40663b
mov edi, dword [ebp - 0x1c8]
mov eax, dword [0x41ba8c]
mov dword [edi + 0x38], eax
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1c4], ebx
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x1bc], ebx
mov esi, dword [ebp - 0x1cc]
cmp dword [esi + 0x24], 0x41434941
cmc
jne 0x406548
mov eax, 0x41434941
mov dword [0x41b43d], eax
mov dword [0x41b4d7], eax
mov dword [0x41b63c], eax
mov dword [0x41b686], eax
mov dword [0x41b6f8], eax
mov dword [0x41b71e], eax
jmp 0x4065c9
cmp dword [esi + 0x24], 0x54434b41
cmc
jne 0x406577
mov eax, 0x54434b41
mov dword [0x41b43d], eax
mov dword [0x41b4d7], eax
mov dword [0x41b63c], eax
mov dword [0x41b686], eax
mov dword [0x41b6f8], eax
mov dword [0x41b71e], eax
jmp 0x4065c9
cmp dword [esi + 0x24], 0x53434b41
cmc
jne 0x4065a6
mov eax, 0x53434b41
mov dword [0x41b43d], eax
mov dword [0x41b4d7], eax
mov dword [0x41b63c], eax
mov dword [0x41b686], eax
mov dword [0x41b6f8], eax
mov dword [0x41b71e], eax
jmp 0x4065c9
mov eax, 0x41525341
mov dword [0x41b43d], eax
mov dword [0x41b4d7], eax
mov dword [0x41b63c], eax
mov dword [0x41b686], eax
mov dword [0x41b6f8], eax
mov dword [0x41b71e], eax
call fcn.004011e6
mov eax, dword [0x423d10]
mov dword [0x418828], eax
call fcn.004011ca
mov esi, dword [ebp - 0x1b8]
mov edi, dword [ebp - 0x1bc]
add edi, 8
mov ebx, dword [0x423d0c]
bswap ebx
add ebx, 0xfffffff8
mov ecx, dword [0x418828]
bswap ecx
call fcn.00424250
mov edi, dword [ebp - 0x1cc]
cmp byte [edi + 0x70], 1
jne 0x406636
mov edi, dword [ebp - 0x1c8]
mov al, 6
mov byte [edi + 0x2c], al
cmp dword [edi + 0x64], 0
je 0x406636
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
call fcn.0040c513
call fcn.0040b428
call fcn.004013b0
cmp byte [0x423d90], 0
jne 0x4066b6
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x50], 0
je 0x4066b6
mov esi, edi
mov ebx, dword [esi + 0x50]
mov dword [ebp - 0x110], ebx
mov edi, ebx
dec word [edi + 0x20]
cmp dword [edi + 0x10], 0
je 0x40667d
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x104], ebx
mov edi, ebx
dec word [edi + 0x22]
mov edi, dword [ebp - 0x110]
cmp dword [edi + 0xc], 0
je 0x4066b6
mov esi, edi
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x108], ebx
mov edi, ebx
dec word [edi + 0x1e]
jmp 0x4066b6
mov edi, dword [ebp - 0x1c8]
cmp byte [edi + 0x2f], 0xe
jne 0x4066b6
mov al, 1
mov byte [edi + 0x2c], al
jmp 0x4066b6
mov al, 0
mov byte [0x41b304], al
mov esi, 0x418f94
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x19c], ebx
mov edi, ebx
mov al, 4
mov byte [edi + 0x24], al
mov al, 6
mov byte [edi + 0x27], al
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x48], 0
je 0x4066fb
mov esi, edi
mov ebx, dword [esi + 0x48]
mov dword [ebp - 0x1b4], ebx
mov esi, ebx
mov eax, dword [esi + 4]
mov dword [edi + 0x48], eax
call fcn.00409d97
jmp 0x4066d5
cmp dword [edi + 0x60], 0
je 0x406711
mov esi, edi
mov ebx, dword [esi + 0x60]
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
mov edi, dword [ebp - 0x1cc]
cmp byte [edi + 0x2f], 0xc
jne 0x4067f4
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x38], 0
je 0x4068c4
mov esi, edi
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0x118], ebx
mov esi, ebx
mov eax, dword [esi + 0xc]
mov dword [0x41b220], eax
mov esi, edi
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0x1b4], ebx
mov esi, ebx
mov eax, dword [esi + 4]
mov dword [edi + 0x38], eax
call fcn.00409d97
mov ebx, dword [0x41b220]
mov dword [ebp - 0x1cc], ebx
mov edx, 0x84
mov dword [0x41ba88], edx
mov al, 0xbd
mov byte [0x41ba90], al
call fcn.0040a198
cmp byte [0x41ba91], 0
jne 0x4067ca
mov ebx, dword [0x41ba8c]
mov dword [ebp - 0x118], ebx
lea edi, [ebx + 8]
sub eax, eax
lea ecx, [eax + 0x1f]
rep stosd dword es:[edi], eax
mov edi, ebx
mov ax, 0xff39
mov word [edi + 0x20], ax
mov ax, 0x6c00
mov word [edi + 8], ax
mov esi, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x48]
mov dword [edi + 4], eax
mov edi, esi
mov eax, dword [0x41ba8c]
mov dword [edi + 0x48], eax
jmp 0x4067d8
mov edi, dword [ebp - 0x1d8]
mov al, 6
mov byte [edi + 0x131], al
call fcn.0040b489
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1cc], ebx
jmp 0x406721
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x38], 0
je 0x4068c4
mov esi, edi
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0x1a0], ebx
mov edi, ebx
cmp byte [edi], 0xf6
jne 0x406847
cmp byte [edi + 0x40], 0x10
jne 0x40689a
cmp byte [edi + 0x41], 1
jne 0x40689a
push 0xffffffffffffff81
call fcn.0040cb5a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x40689a
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x1c8], ebx
call fcn.00407529
jmp 0x40689a
cmp byte [edi], 0xb9
jne 0x40689a
mov ebx, dword [esi + 0x38]
mov dword [ebp - 0x140], ebx
mov ax, 1
mov word [0x418a7e], ax
movsx eax, word [0x418a7e]
mov dword [0x418808], eax
sar eax, 0x1f
mov dword [0x41880c], eax
mov edi, dword [ebp - 0x140]
mov ebx, dword [edi + 0x10]
sub edx, edx
sub ebx, dword [0x418808]
sbb edx, dword [0x41880c]
jl 0x40689a
call fcn.00406ffe
inc word [0x418a7e]
jmp 0x40685f
mov esi, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [esi + 4]
mov dword [edi + 0x38], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
jmp 0x4067f4
mov edi, dword [ebp - 0x1cc]
cmp dword [edi + 0x18], 0
je 0x40695f
mov esi, edi
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0x1a0], ebx
mov edi, ebx
cmp byte [edi + 0x40], 2
jne 0x406935
mov esi, edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [esi + 0x30]
mov dword [edi + 8], eax
mov al, 3
mov byte [edi + 0x24], al
mov al, 5
mov byte [edi + 0x27], al
mov al, 7
mov byte [edi + 0x25], al
push 0xffffffffffffff8c
call fcn.0040e6a8
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x406935
mov edi, dword [ebp - 0x170]
cmp byte [edi + 0x19], 0
jne 0x406935
mov edi, dword [ebp - 0x170]
mov al, 0
mov byte [edi + 0x33], al
cmp byte [edi + 0x33], al
je 0x406935
jmp 0x406923
mov esi, dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x1cc]
mov eax, dword [esi + 4]
mov dword [edi + 0x18], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
jmp 0x4068c4
mov edi, dword [ebp - 0x19c]
sub eax, eax
mov dword [edi + 8], eax
mov al, 4
mov byte [edi + 0x24], al
mov al, 6
mov byte [edi + 0x27], al
push 0xffffffffffffff81
call fcn.0040cb5a
mov edi, dword [ebp - 0x19c]
cmp byte [edi + 0x26], 0
jne 0x4069b1
mov esi, edi
mov ebx, dword [esi + 0x20]
mov dword [ebp - 0x1c8], ebx
mov edi, ebx
cmp byte [edi + 0x2f], 5
jne 0x406974
mov esi, edi
mov edi, dword [ebp - 0x1cc]
mov eax, dword [esi + 0xc]
cmp dword [edi + 0x30], eax
jne 0x406974
call fcn.00407529
jmp 0x406974
mov esi, dword [ebp - 0x1cc]
mov eax, dword [esi + 0x30]
mov dword [0x41b30d], eax
mov esi, dword [ebp - 0x1d8]
add esi, 0xa8
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
call fcn.0040722a
mov esi, dword [ebp - 0x1d8]
add esi, 0xa0
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
call fcn.0040722a
mov esi, dword [ebp - 0x1d8]
add esi, 0x230
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
call fcn.0040722a
mov esi, dword [ebp - 0x1d8]
add esi, 0x28c
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1cc], ebx
call fcn.0040722a
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0x104]
mov dword [ebp - 0x198], ebx
mov ax, 1
mov word [0x418a7e], ax
cmp word [0x418a7e], 0x43
jg 0x406fa3
movsx edi, word [0x418a7e]
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x406a8a
mov eax, 0x4152c0
mov ecx, 0x151e
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
add edi, ecx
cmp dword [edi + 8], 0
je 0x406cdd
mov ebx, dword [edi + 8]
mov dword [ebp - 0x134], ebx
mov esi, dword [ebp - 0x134]
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x130], ebx
mov esi, dword [ebp - 0x130]
mov eax, dword [esi + 8]
cmp dword [0x41b30d], eax
jne 0x406b58
mov esi, dword [ebp - 0x134]
mov ebx, dword [esi + 0x10]
mov edi, dword [ebp - 0x130]
cmp edi, ebx
jne 0x406b1b
mov esi, edi
mov edi, dword [ebp - 0x134]
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.0040750c
call fcn.00409d97
mov edi, dword [ebp - 0x134]
cmp dword [edi + 0x10], 0
je 0x406b80
mov esi, edi
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0x130], ebx
jmp 0x406ab4
mov esi, edi
mov edi, dword [ebp - 0xe0]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
mov edi, dword [ebp - 0xe0]
cmp dword [edi + 4], 0
je 0x406b80
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x130], ebx
jmp 0x406ab4
mov edi, esi
cmp dword [edi + 4], 0
je 0x406b80
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xe0], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x130], ebx
jmp 0x406ab4
mov edi, dword [ebp - 0x134]
cmp dword [edi + 0x10], 0
jne 0x406cb7
movsx esi, word [0x418a7e]
lea esi, [esi*4 - 4]
cmp esi, 0x108
jbe 0x406bb5
mov eax, 0x4152c0
mov ecx, 0x155d
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
add esi, ecx
mov ebx, dword [esi + 8]
cmp edi, ebx
jne 0x406c7a
movsx edi, word [0x418a7e]
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x406bed
mov eax, 0x4152c0
mov ecx, 0x1560
call fcn.00414a46
add edi, ecx
mov esi, dword [ebp - 0x134]
mov eax, dword [esi + 4]
mov dword [edi + 8], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
movsx edi, word [0x418a7e]
lea edi, [edi*4 - 4]
cmp edi, 0x108
jbe 0x406c33
mov eax, 0x4152c0
mov ecx, 0x1566
call fcn.00414a46
mov ecx, dword [ebp - 0x198]
add edi, ecx
cmp dword [edi + 8], 0
je 0x406cdd
movsx esi, word [0x418a7e]
lea esi, [esi*4 - 4]
cmp esi, 0x108
jbe 0x406c6a
mov eax, 0x4152c0
mov ecx, 0x1569
call fcn.00414a46
add esi, ecx
mov ebx, dword [esi + 8]
mov dword [ebp - 0x134], ebx
jmp 0x406aa5
mov esi, edi
mov edi, dword [ebp - 0xe4]
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1b4], ebx
call fcn.00409d97
mov edi, dword [ebp - 0xe4]
cmp dword [edi + 4], 0
je 0x406cdd
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x134], ebx
jmp 0x406aa5
cmp dword [edi + 4], 0
je 0x406cdd
mov esi, edi
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0xe4], ebx
mov esi, edi
mov ebx, dword [esi + 4]
mov dword [ebp - 0x134], ebx
jmp 0x406aa5
inc word [0x418a7e]
jmp 0x406a57
mov edi, dword [ebp - 0x1c4]
cmp byte [edi], 0xf3
jne 0x406f6c
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x75], 1
jne 0x406d2f
mov al, 1
mov byte [0x418a89], al
mov ax, 0x143
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x1c4]
mov eax, dword [esi]
mov dword [0x418a98], eax
mov eax, dword [esi + 4]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov al, 0
mov byte [0x41b2c1], al
mov esi, dword [ebp - 0x1d8]
add esi, 0x180
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x194], ebx
mov esi, ebx
mov dword [0x423dbc], esi
sub dword [0x423dbc], 0x14
mov ebx, dword [0x423dbc]
mov dword [ebp - 0x194], ebx
mov edi, dword [ebp - 0x194]
cmp dword [edi + 0x14], 0
je 0x406df5
mov esi, edi
mov edi, dword [ebp - 0x1d8]
mov eax, dword [esi + 0x14]
cmp dword [edi + 0xfc], eax
jne 0x406de1
mov esi, edi
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1c8], ebx
mov esi, ebx
mov edi, dword [ebp - 0x194]
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov al, 3
mov byte [0x41b319], al
mov eax, dword [esi + 0x30]
mov dword [0x41b2d4], eax
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x194], ebx
call fcn.0040737e
mov al, 1
mov byte [0x41b2c1], al
mov edi, dword [ebp - 0x1d8]
mov byte [edi + 0x1ad], al
jmp 0x406df5
mov esi, dword [ebp - 0x194]
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0x194], ebx
jmp 0x406d6b
cmp byte [0x41b2c1], 1
je 0x406fa3
mov ax, 1
mov word [0x418a7e], ax
movsx edi, word [0x418a7e]
lea edi, [edi*4 - 4]
cmp edi, 0x28
jbe 0x406e2e
mov eax, 0x4152c0
mov ecx, 0x15b4
call fcn.00414a46
mov ecx, dword [ebp - 0x1d8]
add edi, ecx
mov esi, ecx
mov eax, dword [esi + 0xfc]
cmp dword [edi + 0x154], eax
jne 0x406f54
sub ecx, ecx
mov dword [edi + 0x154], ecx
movsx esi, word [0x418a7e]
lea esi, [ecx + esi*8 - 8]
cmp esi, 0x50
jbe 0x406e70
mov eax, 0x4152c0
mov cx, 0x15b8
call fcn.00414a46
add esi, 0x418820
mov eax, dword [esi + 0x2b98]
mov dword [0x41b305], eax
mov eax, dword [esi + 0x2b9c]
mov dword [0x41b309], eax
cmp word [0x418a7e], 7
je 0x406eb4
cmp word [0x418a7e], 8
je 0x406eb4
cmp word [0x418a7e], 5
je 0x406eb4
cmp word [0x418a7e], 9
jne 0x406ef2
movsx edi, word [0x418a7e]
dec edi
cmp edi, 0xa
jbe 0x406ecf
mov eax, 0x4152c0
mov cx, 0x15bf
call fcn.00414a46
mov ecx, dword [ebp - 0x1d8]
add edi, ecx
cmp byte [edi + 0x142], 7
je 0x406ef2
mov al, 6
mov byte [edi + 0x142], al
mov edi, ecx
mov al, 1
mov byte [edi + 0x1ad], al
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1c8], ebx
mov esi, ebx
mov eax, dword [esi + 0x30]
mov dword [0x41b2d4], eax
mov edi, esi
cmp byte [edi + 0x2f], 9
jne 0x406f1f
mov al, 0
mov byte [0x41b319], al
jmp 0x406f3b
cmp byte [edi + 0x2f], 0xa
jne 0x406f2e
mov al, 1
mov byte [0x41b319], al
jmp 0x406f3b
cmp byte [edi + 0x2f], 0xb
jne 0x406f3b
mov al, 2
mov byte [0x41b319], al
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x194], ebx
call fcn.0040737e
jmp 0x406fa3
cmp word [0x418a7e], 0xb
je 0x406fa3
inc word [0x418a7e]
jmp 0x406e0c
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x75], 1
jne 0x406fa3
mov al, 1
mov byte [0x418a89], al
mov ax, 0x142
mov word [0x418a8a], ax
mov esi, dword [ebp - 0x1c4]
mov eax, dword [esi]
mov dword [0x418a98], eax
mov eax, dword [esi + 4]
mov dword [0x418a9c], eax
call fcn.0040b4e5
mov esi, dword [ebp - 0x1d8]
mov ebx, dword [esi + 0xfc]
mov dword [ebp - 0x1b4], ebx
add esi, 0xf8
mov dword [0x423dbc], esi
mov ebx, esi
mov dword [ebp - 0x1c4], ebx
call fcn.00409cf6
mov edi, dword [ebp - 0x1d8]
cmp byte [edi + 0x75], 1
jne 0x406ffd
mov al, 1
mov byte [0x418a89], al
mov ax, 0x441
mov word [0x418a8a], ax
mov esi, edi
mov eax, dword [esi + 0xfc]
mov dword [0x418a9c], eax
call fcn.0040b4e5
ret