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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, ecx
xor ecx, ecx
mov dword [esp + 0x24], 1
mov dword [esp + 0x18], ecx
or ebx, 0xffffffff
mov dword [esp + 0x20], ecx
mov eax, dword [edi + 4]
mov dword [esp + 0x10], ecx
mov eax, dword [eax]
mov dword [esp + 0x14], eax
movsx eax, word [eax + 8]
sub eax, ecx
je 0x40bf27
sub eax, 1
je 0x450474
sub eax, 0x32
jne 0x4503eb
push edi
mov ecx, esi
call fcn.0040dfd0
lea ecx, [esp + 0x18]
call fcn.0040cfa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push dword [ebp + 0xc]
jne 0x40bf36
mov ecx, esi
push edi
call fcn.0040dd50
test ebx, ebx
js 0x40bf15
jmp 0x45048e
clc
sub esp, 0xb4
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
adc byte [edi - 0x75], dl
inc ebx
add al, 0x8b
stc
sub esp, 0x10
mov dword [esp + 0x1c], edi
mov edx, dword [esi]
mov dword [esp + 0x3c], 3
mov eax, dword [eax + edx*4]
mov edx, esp
movsx ecx, word [eax + 0xa]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
lea ecx, [edi + 0x13c]
mov dword [edx + 0xc], eax
inc dword [eax]
call fcn.0040adf0
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4504b6
mov eax, dword [edi + 0x150]
mov ecx, dword [esi]
mov dword [esp + 0x84], eax
inc ecx
xor eax, eax
mov dword [esp + 0x7c], 1
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], 0x49cc38
mov dword [esp + 0x48], 0x49cc3c
mov dword [esi], ecx
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x47
jne 0x4504ce
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], ecx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x14], ecx
push eax
push esi
push ebx
mov ecx, edi
call fcn.0040ac91
test eax, eax
js 0x450a2d
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 0x10]
cmp eax, dword [0x4d23a0]
jg 0x4504e0
test eax, eax
jle 0x4504e0
shl eax, 4
add eax, dword [0x4d23dc]
mov esi, dword [eax + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
cmp word [eax + 8], 0
jne 0x40c07e
cmp dword [eax], 0x2b
je 0x4504e7
mov eax, 3
mov edx, dword [esp + 0x10]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ebx
jg 0x40c670
mov bl, byte [ebp + 8]
test bl, bl
jne 0x4505a9
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
cmp eax, dword [edi + 0x18]
jl 0x450a14
cmp eax, dword [edi + 0x14]
jg 0x450a14
adc al, 0xf
invalid
cmp ecx, edx
jne 0x450a14
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], eax
test eax, eax
js 0x4506ff
lea eax, [esp + 0x48]
mov ecx, 0x4d2380
push eax
call fcn.0040ad81
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x45070c
cmp dword [edi + 0x14], 1
jge 0x40c3c3
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [ebx + 0x150], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa0], al
test byte [eax + ecx*4], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, al
test byte [eax + edx*4], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x15083], cl
add byte [ebx], dh
ror byte [ecx - 0x76e7dbbc], 0x84
and al, 0x9c
add byte [eax], al
add byte [eax + 0xa02484], cl
add byte [eax], al
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
mov byte [esp + 0xb8], al
mov eax, dword [ebx]
mov dword [esp + 0x94], 1
mov byte [esp + 0x98], 0
mov dword [esp + 0xb4], 1
mov edi, dword [eax + 4]
add edi, ebx
cmp byte [edi + 0xd], 0
jne 0x45091a
push 0x40
call fcn.0041fddb
mov esi, eax
add esp, 4
lea eax, [esp + 0x88]
mov ecx, esi
push eax
mov dword [esi + 8], 0
call fcn.004100e0
lea eax, [esp + 0xa8]
mov byte [esi + 0x10], 0
lea ecx, [esi + 0x20]
mov dword [esi + 0x14], 0
mov byte [esi + 0x18], 0
push eax
mov dword [ecx + 8], 0
call fcn.004100e0
mov byte [esi + 0x30], 0
mov eax, dword [edi + 8]
mov dword [esi + 0x38], eax
mov dword [edi + 8], esi
mov eax, dword [esp + 0x5c]
lea esi, [ebx + 0x164]
inc dword [edi + 4]
mov edi, dword [ebx + 0xf8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ebx, dword [esi]
inc eax
push eax
call fcn.0040d760
cmp ebx, dword [esi]
jb 0x450933
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov dword [ebx + 0xf8], edi
mov eax, dword [eax + 4]
mov cl, byte [eax + ebx + 0xd]
mov edi, dword [eax + ebx + 8]
test cl, cl
jne 0x450943
mov eax, edi
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x18]
je 0x40c93d
mov byte [eax], 1
test cl, cl
jne 0x45094b
mov esi, dword [ebp + 0x14]
cmp esi, edi
je 0x40c262
cmp dword [esi + 0xc], 4
je 0x450953
mov ecx, esi
call fcn.0040cfa0
push edi
mov ecx, esi
call fcn.004100e0
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov cl, byte [eax + ebx + 0xd]
mov eax, dword [eax + ebx + 8]
add al, 0x8a
dec esp
sbb byte [0x818448b], cl
test cl, cl
jne 0x450976
add al, 0
mov esi, eax
cmp byte [esi + 0x18], 0
jne 0x45097e
test cl, cl
jne 0x4509a0
mov esi, eax
cmp byte [esi + 0x30], 0
jne 0x4509a8
add byte [ebx + 0x7c800442], cl
sbb byte [0x18348d00], cl
mov eax, dword [edx + 4]
cmp byte [eax + ebx + 0xd], 0
lea esi, [eax + ebx]
jne 0x4509d1
cmp byte [esi + 0xc], 0
or al, 0
jne 0x4509ed
mov edi, dword [esi + 8]
mov ebx, dword [edi + 0x38]
test edi, edi
je 0x40c2d6
sbb cl, byte [ebp - 0x2317dfb1]
or al, 0
add byte [ebx + 0xcd5e8cf], cl
add byte [eax], al
lea ecx, [edi + 0x20]
call fcn.0040cfa0
mov ecx, edi
call fcn.0040cfa0
push 0x40
push edi
call fcn.0041fdcd
add esp, 8
mov dword [esi + 8], ebx
xor al, al
mov ebx, dword [esp + 0xc]
mov byte [esi + 0xd], al
dec dword [esi + 4]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov ecx, dword [eax + 8]
jne 0x4509f4
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov ecx, dword [eax + 8]
jne 0x4509fc
mov byte [ecx + 0x18], 0
mov eax, dword [ebx]
mov esi, dword [eax + 4]
add esi, ebx
cmp byte [esi + 0xd], 0
mov ecx, dword [esi + 8]
jne 0x450a04
lea eax, [esp + 0xa8]
add ecx, 0x20
push eax
call fcn.0040aceb
cmp byte [esi + 0xd], 0
mov eax, dword [esi + 8]
jne 0x450a0c
mov ecx, 0x4d2380
mov byte [eax + 0x30], 0
call fcn.0040a704
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0xa8]
mov dword [ebx + 0x150], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
call fcn.0040cfa0
lea ecx, [esp + 0x88]
call fcn.0040cfa0
lea ecx, [esp + 0x70]
call fcn.0040cfa0
mov edi, dword [esp + 0x38]
xor esi, esi
test edi, edi
jne 0x40c876
in al, 4
add byte [eax], al
push dword [esp + 0x24]
call fcn.0041fe14
mov eax, dword [esp + 0x34]
add esp, 4
xor edi, edi
test eax, eax
jne 0x40c8a2
push dword [esp + 0x20]
call fcn.0041fe14
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0x44], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
xor ebx, ebx
mov esi, dword [esp + 0x2c]
lea edx, [esi*4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx]
cmp word [eax + 8], bx
je 0x450758
mov edx, dword [esp + 0x2c]
xor esi, esi
inc edx
mov dword [esp + 0x10], 1
mov edi, dword [esp + 0x10]
lea edx, [ecx + edx*4]
jmp 0x40c420
mov eax, dword [edx]
movzx eax, word [eax + 8]
cmp ax, 0x47
je 0x450787
cmp ax, 0x48
je 0x40c92b
cmp ax, 0x40
jne 0x40c934
test esi, esi
jne 0x40c934
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
cmp edi, dword [esp + 0x40]
jg 0x4508a5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov eax, dword [eax + edx]
cmp byte [eax], 0
jne 0x45078d
mov eax, dword [esp + 0x2c]
or ebx, 0x200
cmp dword [0x4d2380], 0
mov edx, dword [edx]
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + eax*4]
mov edi, dword [eax]
je 0x4507c4
xor al, al
test al, al
jne 0x4507cb
cmp byte [0x4d2389], al
jne 0x4507e1
mov esi, dword [0x4d2384]
push esi
push edi
mov dword [esp + 0x60], esi
call fcn.0040bbe0
test al, al
jne 0x4507ee
and ebx, 0xff00
push 0x20
mov dword [esp + 0x2c], ebx
call fcn.0041fddb
mov ebx, eax
add esp, 4
push 0x10
mov dword [ebx + 4], 0
mov dword [ebx + 8], 8
call fcn.0041fe0b
add esp, 4
mov dword [ebx], eax
xor ecx, ecx
mov word [eax], cx
push 4
call fcn.0041fddb
mov ecx, eax
add esp, 4
mov dword [ecx], 1
mov dword [ebx + 0xc], ecx
cmp ebx, edi
je 0x40c559
mov edx, dword [ecx]
cmp edx, 1
jg 0x45080d
xor al, al
test al, al
jne 0x450814
mov esi, dword [edi + 4]
mov dword [ebx + 4], esi
lea ecx, [esi + 1]
cmp dword [ebx + 8], ecx
jb 0x450836
or byte [edi], cl
cmp bl, 0x42
add al, 0
mov al, 1
test al, al
je 0x45083d
lea eax, [esi*2 + 2]
push eax
push dword [edi]
push dword [ebx]
call fcn.00420e20
add esp, 0xc
xor ebp, eax
retf 0x148
or al, 0x8b
inc esp
and al, 0x28
mov eax, dword [esp + 0x28]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.0041fddb
add esp, 4
mov esi, eax
mov ecx, esi
push dword [esp + 0x3c]
mov dword [esi + 8], 0
call fcn.004100e0
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
je 0x40c639
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.0040bbe0
mov ecx, dword [esp + 0x28]
mov edi, dword [ebx + 4]
mov edx, dword [ecx + 4]
test edi, edi
je 0x450887
test edx, edx
je 0x45088f
cmp edi, edx
jb 0x40c95c
mov edx, dword [ecx]
mov esi, dword [ebx]
test edi, edi
je 0x40c987
add byte [ebp + 0x9b], cl
add byte [edi], cl
mov bh, 6
lea ebx, [ebx]
movzx eax, word [esi]
mov dword [esp + 0x48], eax
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x3c], ecx
movzx ecx, word [esi]
cmp cx, ax
jne 0x40c608
add esi, 2
add edx, 2
sub edi, 1
jne 0x40c5e0
jmp 0x40c987
mov eax, dword [esp + 0x3c]
cmp word [esp + 0x48], ax
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x40c9ce
jle 0x45089c
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], ecx
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x58]
pop eax
mov esi, dword [esp + 0x10]
mov dword [eax], ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
inc eax
add dword [esp + 0x18], 4
add eax, esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
sub al, 0x8b
inc esp
and al, 0x44
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [ecx + 0x14]
jle 0x40c3e0
jmp 0x40c10d
cmp ecx, edx
jae 0x40c0a0
mov eax, dword [esi + edi*4]
lea edx, [edi*4]
inc ebx
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], ebx
xor bl, bl
cmp word [eax + 8], 0
je 0x4504f5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
je 0x40c6ae
xor bl, bl
mov eax, dword [esp + 0x44]
inc esp
and al, 0x44
cmp dword [esp + 0x38], eax
je 0x40c7da
push 1
call fcn.0041fddb
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x24]
mov byte [eax], bl
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x70]
call fcn.0040cfa0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], 1
mov dword [esp + 0x70], 0
cmp dword [esp + 0x30], eax
je 0x40c828
push 0x10
call fcn.0041fddb
mov esi, eax
add esp, 4
lea eax, [esp + 0x70]
mov ecx, esi
push eax
mov dword [esi + 8], 0
call fcn.004100e0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x20]
mov dword [edx + ecx*4], esi
inc ecx
test bl, bl
mov dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x6c], ecx
jne 0x450543
push dword [edx + ecx*4 - 4]
mov ecx, dword [esp + 0x14]
push eax
push ebx
call fcn.0040ec40
test eax, eax
js 0x450a2d
mov ecx, dword [esp + 0x34]
inc edi
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + edi*4]
cmp word [eax + 8], 0x41
je 0x40c99c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
cmp ecx, edx
je 0x40c0a0
mov esi, dword [ebx + 4]
mov eax, dword [esi + ecx*4]
cmp word [eax + 8], 0x40
jne 0x450591
lea eax, [ecx + 1]
cmp eax, edx
je 0x450591
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov esi, dword [eax + 4]
mov eax, dword [esi + edi*4]
cmp word [eax + 8], 0x40
jne 0x40c7bb
inc edi
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [ebx + 0x14]
jge 0x40c0a0
mov ebx, dword [esp + 0x40]
jmp 0x40c670
add eax, eax
mov dword [esp + 0x44], eax
cmp eax, 8
jae 0x40c7ee
mov eax, 8
mov dword [esp + 0x44], eax
xor ecx, ecx
mov dword [esp + 0x54], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041fe0b
mov edx, dword [esp + 0x28]
add esp, 4
mov esi, eax
test edx, edx
jne 0x40ca1b
mov eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
jmp 0x40c6bc
add eax, eax
mov dword [esp + 0x28], eax
cmp eax, 8
jae 0x40c83c
mov eax, 8
mov dword [esp + 0x28], eax
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041fe0b
mov edx, dword [esp + 0x24]
add esp, 4
mov esi, eax
test edx, edx
jne 0x40ca4a
mov eax, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], eax
jmp 0x40c703
mov ebx, dword [esp + 0x24]
lea ebx, [ebx]
push 1
push dword [ebx + esi*4]
call fcn.0041fdcd
mov dword [ebx + esi*4], 0
add esp, 8
inc esi
cmp esi, edi
jb 0x40c880
mov ebx, dword [esp + 0x18]
jmp 0x40c392
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x40c916
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x40c8ea
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
jne 0x40c8d8
push dword [ebx]
call fcn.0041fe14
add esp, 4
push 4
push dword [ebx + 0xc]
call fcn.0041fdcd
add esp, 8
push 0x10
push ebx
call fcn.0041fdcd
add esp, 8
mov dword [esi + 8], 0
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x40c9e7
push 0x10
push esi
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.0041fdcd
add dword [eax], eax
mov eax, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x20]
mov dword [ecx + edi*4], 0
inc edi
cmp edi, eax
jb 0x40c8a6
mov ebx, dword [esp + 0x18]
jmp 0x40c3ac
sub esi, 1
js 0x40c44c
inc edi
add edx, 4
jmp 0x40c420
mov esi, dword [ebp + 0x14]
mov ecx, esi
mov byte [eax], 0
call fcn.0040cfa0
mov dword [esi + 0xc], 1
mov dword [esi], 0
jmp 0x40c262
mov esi, dword [ecx]
mov edi, dword [ebx]
test edx, edx
je 0x40c987
movzx eax, word [edi]
mov dword [esp + 0x3c], eax
movzx eax, word [esi]
mov ecx, eax
mov dword [esp + 0x48], ecx
movzx ecx, word [edi]
cmp cx, ax
jne 0x40c98e
add edi, 2
add esi, 2
sub edx, 1
jne 0x40c964
xor eax, eax
jmp 0x40c617
mov eax, dword [esp + 0x48]
cmp word [esp + 0x3c], ax
jmp 0x40c611
inc edi
xor edx, edx
nop
mov eax, dword [ecx + edi*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
je 0x450568
cmp ax, 0x48
je 0x40ca79
cmp ax, 0x40
je 0x40c9c4
inc edi
jmp 0x40c9a0
test edx, edx
je 0x40c777
jmp 0x40c9c1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov dword [ecx + 0x18], 0
jmp 0x40c639
invalid
sub eax, 5
cmp eax, 0xa
ja case.0x40c9f3.6
jmp dword [eax*4 + 0x40cac0]
mov ebx, dword [esi]
test ebx, ebx
je case.0x40c9f3.6
mov ecx, ebx
call fcn.0041ce17
push 4
push ebx
call fcn.0041fdcd
add esp, 8
jmp case.0x40c9f3.6
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40c819
lea ecx, [eax*4]
push ecx
push edx
push esi
call fcn.00420e20
add esp, 0xc
push dword [esp + 0x24]
call fcn.0041fe14
add esp, 4
jmp 0x40c819
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40c867
lea ecx, [eax*4]
push ecx
push edx
push esi
call fcn.00420e20
add esp, 0xc
push dword [esp + 0x20]
call fcn.0041fe14
add esp, 4
jmp 0x40c867
sub edx, 1
js 0x40c777
jmp 0x40c9c1
mov ebx, dword [esi]
test ebx, ebx
je case.0x40c9f3.6
lea ecx, [ebx + 8]
call fcn.0040988f
push 0x18
push ebx
call fcn.0041fdcd
add esp, 8
jmp case.0x40c9f3.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x40c9f3.6
mov eax, dword [ecx]
push 1
call dword [eax]
jmp case.0x40c9f3.6
add cl, ch
mov bh, 0xfb
inc dword [ebp + 0x6b840fc9]
mov eax, 0xf0e9fffb
mov eax, 0xe883fffb
add dword [edx + ebp*2 - 0x7d], esi
call 0x8363780a
call 0x17c91358
mov ebx, 0x8d53fffb
inc esp
and al, 0x1c
mov ecx, esi
push eax
lea eax, [esp + 0x18]
push eax
push edi
call fcn.0040ec53
jmp 0x45049a
and al, 0x1c
push eax
lea eax, [esp + 0x18]
push eax
push edi
push ecx
mov ecx, esi
call fcn.0040bf53
jmp 0x45049a
and al, 0x14
push eax
push edi
push ecx
mov ecx, esi
call fcn.00411323
mov ebx, eax
jmp 0x40bf45
movsx eax, word [eax + 0xa]
push eax
push 0x72
mov ecx, esi
call fcn.004735af
jmp 0x40bf28
iretd
invalid
push 0x6f
call fcn.004735af
jmp 0x450a40
jmp 0x40c078
mov eax, dword [esi + edx + 4]
cmp word [eax + 8], 0x33
je 0x450524
mov eax, dword [esi + edx]
mov ecx, dword [esi + edx + 4]
mov eax, dword [eax]
cmp eax, dword [ecx]
mov ecx, dword [esp + 0x1c]
je 0x450581
mov eax, dword [esi + edx]
mov eax, dword [eax]
cmp eax, 0x24
jne 0x450532
mov bl, 1
jmp 0x45053f
cmp eax, 0x1e
jne 0x450581
mov dword [esp + 0x58], 0xbbed0100
inc edi
mov eax, dword [esi + edi*4]
lea edx, [edi*4]
cmp word [eax + 8], 0
je 0x450508
jmp 0x40c6af
call fcn.0041d22a
test eax, eax
js 0x553d0a40
inc edi
jmp 0x40c78a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + edi*4 + 4]
movsx eax, word [eax + 0xa]
push eax
push 0x91
call fcn.004735af
mov edi, 0x68500a40
xchg ecx, eax
add byte [eax], al
add al, ch
adc byte [eax], dh
add al, byte [eax]
jmp 0x553d0a40
and al, 0xc
movsx eax, word [eax + 0xa]
push eax
push 0x6f
call fcn.004735af
jmp 0x553d0a40
and al, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
jmp 0x40c0c2
and cl, ch
mov al, 0xb9
sti
inc edi
inc esp
and al, 0x4c
add byte [eax], al
add byte [eax], al
jmp 0x40c0fb
mov ecx, esi
call fcn.004098a2
push 0x20
push esi
call fcn.0041fde0
adc dword [ebx], 8
jmp 0x40c116
xchg ecx, eax
sti
jmp [edx + 0x20]
mov eax, dword [ecx + edx]
mov eax, dword [eax]
cmp eax, 0x24
je 0x45077f
cmp eax, 0x1e
jne 0x450780
mov ebx, 0xbbed0100
inc esi
mov eax, dword [ecx + esi*4]
lea edx, [esi*4]
cmp word [eax + 8], 0
add byte [eax], al
add byte [esi - 0x7d], ah
js 0x450796
or byte [eax], al
add byte [edx + ebx*8 - 0x77], dh
je 0x4507b8
je 0x45076b
mov dword [esp + 0x2c], esi
jmp 0x40c414
sub al, 0xe9
jp 0x450754
sti
inc dword [esi - 0x17]
cmpsd dword [esi], dword es:[edi]
sar ebx, 0xff
mov eax, dword [edx]
cmp dword [eax + 0xc], 6
jne 0x4507ac
mov edx, dword [eax]
jmp 0x4507ae
xor edx, edx
mov esi, dword [esp + 0x2c]
or ebx, 0xbbede800
push 1
push ebx
push edx
mov eax, dword [ecx + esi*4]
push dword [eax]
call fcn.0046f06f
add dword [eax], eax
test byte [ebx], dh
je 0x553d090e
add eax, edi
push esp
mov esi, dword [esp + 0x10]
jmp 0x40c656
mov ecx, 0x4d2370
call fcn.0040a9a6
mov esi, dword [esp + 0x10]
jmp 0x40c656
adc cl, ch
bound edi, qword [esi - 0x7b5e0005]
and ecx, dword [ebp]
mov esi, dword [eax + 8]
jmp 0x40c4c6
and al, 0x3c
mov ecx, dword [ecx + 0x14]
call fcn.0040acfe
mov esi, dword [esp + 0x10]
jmp 0x40c656
movsb byte es:[edi], byte [esi]
sti
dec dword [ebx - 0x16efdb8c]
mov esi, 0x1b0fffb
jmp 0x40c534
inc ebx
or byte [ebx - 0x74fc76f9], cl
inc edi
or al, 0x89
inc ebx
or al, 0xff
add cl, ch
and edi, dword [ebp - 0x3fcd0005]
jmp 0x40c550
adc dword [ebx], 4
mov dword [ebx], eax
xor ecx, ecx
mov word [eax + esi*2], cx
mov dword [eax + esi*2], ecx
mov esi, dword [ebx + 4]
jmp 0x40c558
jne 0x40c9e5
test edi, edi
jne 0x40c63c
test dword [edx - 0x16000443], edx
sub bh, byte [ebp + 0x5c8bfffb]
and al, 0x28
jmp 0x40c64c
jmp 0x40c5d9
add al, 0xb0
movsx eax, word [eax + 0xa]
push eax
push 0x79
call fcn.004735af
jmp 0x553d0a40
mov byte [eax], al
add byte [eax], al
push eax
call fcn.0047321c
mov byte [edi + 0xd], 0
jmp 0x40c1f1
mov eax, 0xce8bfffb
mov ecx, esi
call fcn.00402859
cmp ebx, dword [esi]
jb 0x450946
sti
invalid
jmp 0x40c21c
mov eax, 0x478bfffb
cmp cl, ch
fistp qword [eax + 0x7f8bfffb]
cmp cl, ch
out dx, eax
mov eax, 0x7f83fffb
or al, 4
jne 0x40c266
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x40c275
push eax
call fcn.0040a8da
jmp 0x40c275
pop esp
and al, 0x18
mov dword [esp + 0x9c], ebx
add byte [eax], al
mov ebx, dword [esp + 0xc]
jmp 0x40c296
je 0x4509c2
mov eax, dword [eax + 0x38]
add eax, 0x20
lea ecx, [esp + 0xa8]
push eax
call fcn.0040acfe
mov eax, dword [esp + 0x9c]
dec dword [ebx + 0x9c2484]
add byte [eax], al
mov edx, dword [ebx]
mov dword [esp + 0x18], eax
jmp 0x40c2aa
push es
push ecx
call fcn.004019f6
mov dword [esi + 8], edi
mov byte [esi + 0xd], 0
jmp 0x40c2bb
mov ebx, 0xb0fffbb8
add ecx, ebp
jmp 0x4509bd
mov eax, 0x498bfffb
cmp cl, ch
std
mov eax, 0x498bfffb
cmp cl, ch
or dword [ecx + 0x498bfffb], edi
mov ecx, 0x498bfffb
cmp cl, ch
sbb dword [ecx + 0x408bfffb], edi
cmp cl, ch
mov ecx, 0xdb84fffb
jne 0x450a3a
push dword [esp + 0x18]
and al, 0x18
mov ecx, esi
push 0x70
call fcn.004735af
jmp 0x450a40
push es
push es
mov eax, dword [ebp + 0x10]
add dword [eax], 0xfffffffe
or ebx, 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x40c38e
mov esi, 0xff50fffb
adc eax, 0x49c470
push 0x10
push dword [esi]
jmp 0x40ca21
jo 0x450a6f
call fcn.0041fe27
adc dword [ebx], 4
push 8
inc dword [ebx + 0x86a0413]
push dword [esi]
jmp 0x40ca21
test ecx, ecx
je 0x40c909
push ecx
call fcn.0045fd6c
jmp 0x40c909