Function at 0x40cd40
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
or eax, 0xffffffff
mov word [ebp - 0x30], ax
xor eax, eax
push ebx
mov word [ebp - 0x2e], ax
mov dword [ebp - 0x44], eax
push esi
mov eax, 0x65
xor ecx, ecx
push edi
xor edi, edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0xc], edi
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
mov ebx, eax
add esp, 4
xor eax, eax
push 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], ebx
mov word [ebx], ax
call fcn.004233fa
mov edx, eax
add esp, 4
mov dword [ebp - 8], edx
test edx, edx
je 0x40dd16
mov dword [edx], 1
mov ecx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 0x3c], edx
cmp dword [ecx + 8], esi
jbe 0x40cdfd
lea esp, [esp]
mov eax, dword [ecx + 4]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x40cded
movzx ecx, word [eax + 8]
cmp cx, 0x3f
jg 0x40cde1
cmp cx, 0x30
jge 0x40cec8
push eax
call fcn.0042346e
mov ecx, dword [ebp + 0x10]
add esp, 4
mov eax, dword [ecx + 4]
inc esi
mov dword [eax + esi*4 - 4], edi
cmp esi, dword [ecx + 8]
jb 0x40cdc0
mov edx, dword [ebp - 8]
mov esi, dword [ebp + 0xc]
mov dword [ecx + 8], edi
cmp word [esi], di
je 0x40d11a
fld qword [0x4b58a8]
mov esi, dword [ebp - 0x38]
fld qword [0x4b58a0]
fld qword [0x4b5898]
fldz
mov ebx, dword [ebp + 0xc]
movzx eax, word [ebx + edi*2]
cmp eax, 0x20
je 0x40cf44
cmp eax, 9
je 0x40cf44
mov eax, ebx
mov ebx, dword [ebp - 0x18]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x24], eax
test ax, ax
je 0x40d0ff
movzx eax, ax
mov word [ebp - 0x2e], di
cmp eax, 0x30
jb 0x40ce69
cmp eax, 0x39
jbe 0x40d3c9
cmp eax, 0x2e
je 0x40d3c9
cmp ax, 0x41
jae 0x40cf4a
cmp ax, 0x61
jae 0x40dcc4
cmp ax, 0x5f
je 0x40cf54
movzx eax, ax
cmp eax, 0x24
je case.0x40cec1.64
cmp eax, 0x2c
je 0x40d371
cmp eax, 0x3d
je 0x40d4a9
sub eax, 0x1a
cmp eax, 0x44
ja case.0x40cec1.27
movzx eax, byte [eax + 0x40ddd0]
jmp dword [eax*4 + 0x40dd88]
mov ecx, dword [eax]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x40cde1
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], edi
je 0x474e8f
push ecx
call fcn.0042346e
mov eax, dword [ebp - 0x20]
add esp, 4
jmp 0x40cde1
mov eax, dword [ebp - 0x30]
fstp st(0)
fstp st(2)
add eax, 0xffffffd0
fstp st(0)
fstp st(0)
cmp ax, 0xf
ja 0x40cf21
test esi, esi
je 0x40cf21
mov ecx, esi
call fcn.00409de3
push esi
call fcn.0042346e
mov ecx, dword [ebp + 0x10]
add esp, 4
mov eax, 0x48
mov word [ebp - 0x30], ax
lea eax, [ebp - 0x38]
xor esi, esi
push eax
mov dword [ebp - 0x38], esi
call fcn.0040de20
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
inc edi
jmp 0x40ce26
cmp ax, 0x5a
ja 0x40ce7c
mov eax, dword [edx]
fstp st(0)
cmp eax, 1
jg 0x40d5bb
xor esi, esi
xor eax, eax
mov word [ebx], ax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], esi
movzx eax, word [eax + edi*2]
mov dword [ebp - 0x20], eax
cmp ax, 0x5a
jbe 0x40cfc7
cmp ax, 0x61
jb 0x40cfcf
cmp ax, 0x7a
ja 0x40cfcf
mov ecx, dword [edx]
cmp ecx, 1
jg 0x474eef
lea ecx, [esi + 2]
cmp dword [ebp - 0x10], ecx
jb 0x40d780
fstp st(2)
fstp st(0)
fstp st(0)
fld qword [0x4b58a8]
mov word [ebx + esi*2], ax
fld qword [0x4b58a0]
inc esi
fld qword [0x4b5898]
xor eax, eax
inc edi
mov word [ebx + esi*2], ax
mov dword [ebp - 0xc], edi
jmp 0x40cf68
cmp ax, 0x41
jae 0x40cf87
jmp 0x40cf7b
cmp ax, 0x30
jae 0x40d771
cmp ax, 0x5f
je 0x40cf87
mov eax, dword [edx]
fstp st(2)
fstp st(0)
mov dword [ebp - 0x18], ebx
fstp st(0)
mov dword [ebp - 0x18], ebx
cmp eax, 1
jg 0x47503d
push esi
push ebx
call dword [0x490660]
xor esi, esi
push ebx
push dword [esi*4 + 0x4bead8]
call fcn.004254f3
add esp, 8
test eax, eax
je 0x40d03f
inc esi
cmp esi, 0x2d
jl 0x40d000
mov ecx, dword [0x4c5104]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, eax
lea ecx, [ebp - 0x38]
test esi, esi
js 0x40d84d
push 1
call fcn.0040dfae
mov dword [ebp - 0x38], esi
jmp 0x40d067
test esi, esi
js 0x40d01a
mov eax, dword [ebp - 0x20]
cmp ax, 0x20
jne 0x40d6fb
mov ax, word [ebp - 0x30]
cmp ax, 0x30
jge 0x40d745
xor eax, eax
mov word [ebp - 0x30], ax
mov dword [ebp - 0x38], esi
cmp esi, 0xffffffff
je 0x475401
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0xc]
cmp dword [ecx + 8], eax
je 0x40dcd3
push 0xc
call fcn.004233fa
mov edx, eax
add esp, 4
mov dword [ebp - 0x20], edx
test edx, edx
je 0x40dd70
mov ax, word [ebp - 0x30]
mov cx, word [ebp - 0x2e]
mov word [edx + 8], ax
mov word [edx + 0xa], cx
cmp ax, 0x30
jge 0x40d868
cmp word [ebp - 0x30], 0x10
je 0x4750c5
cmp word [ebp - 0x30], 0x20
je 0x40dd40
mov dword [edx], esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp + 0x10]
inc dword [ecx + 8]
mov edx, dword [ebp - 8]
fld qword [0x4b58a8]
mov eax, dword [ebp + 0xc]
fld qword [0x4b58a0]
fld qword [0x4b5898]
fldz
cmp word [eax + edi*2], 0
jne 0x40ce23
mov eax, dword [ebp - 0x30]
fstp st(0)
fstp st(2)
add eax, 0xffffffd0
fstp st(0)
fstp st(0)
cmp ax, 0xf
jbe 0x40d830
mov ecx, dword [ebp + 0x10]
mov eax, 0x7f
mov word [ebp - 0x30], ax
mov eax, dword [ecx + 0xc]
xor esi, esi
cmp dword [ecx + 8], eax
je 0x40dbf0
push 0xc
call fcn.004233fa
mov edx, eax
add esp, 4
test edx, edx
je 0x40dd81
mov eax, 0x7f
mov word [edx + 8], ax
mov word [edx + 0xa], di
mov dword [edx], esi
mov edi, dword [ebp + 0x10]
mov dword [ebp + 0x10], esi
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
mov dword [eax + ecx*4], edx
inc dword [edi + 8]
mov edi, dword [ebp - 8]
dec dword [edi]
jne 0x40d17f
push ebx
call fcn.0042346e
add esp, 4
push edi
call fcn.0042346e
add esp, 4
mov eax, dword [ebp - 0x30]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x4754bd
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push ecx
call fcn.0040df6f
test eax, eax
js 0x475498
mov ecx, dword [ebp - 0x24]
cmp cx, 0x24
jne 0x40d7f7
mov ecx, 0x33
mov eax, dword [ebp - 0x30]
add eax, 0xffffffd0
mov dword [ebp - 0x24], ecx
cmp ax, 0xf
jbe 0x47518f
lea eax, [ecx - 0x30]
mov word [ebp - 0x30], cx
mov dword [ebp - 0x28], eax
cmp ax, 0xf
ja 0x4751c3
fstp st(0)
mov dword [ebp - 0x38], 0
mov edx, dword [ebp - 8]
inc edi
mov eax, dword [edx]
mov dword [ebp - 0xc], edi
cmp eax, 1
jg 0x40d43c
xor esi, esi
xor eax, eax
mov word [ebx], ax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], esi
movzx eax, word [eax + edi*2]
mov dword [ebp - 0x20], eax
cmp ax, 0x5a
jbe 0x40d263
cmp ax, 0x61
jb 0x40d26b
cmp ax, 0x7a
ja 0x40d26b
mov ecx, dword [edx]
cmp ecx, 1
jg 0x4751f4
lea ecx, [esi + 2]
cmp dword [ebp - 0x10], ecx
jb 0x40d62a
fstp st(2)
fstp st(0)
fstp st(0)
fld qword [0x4b58a8]
mov word [ebx + esi*2], ax
fld qword [0x4b58a0]
inc esi
fld qword [0x4b5898]
xor eax, eax
inc edi
mov word [ebx + esi*2], ax
mov dword [ebp - 0xc], edi
jmp 0x40d204
cmp ax, 0x41
jae 0x40d223
jmp 0x40d217
cmp ax, 0x30
jae 0x40d362
cmp ax, 0x5f
je 0x40d223
fstp st(2)
mov dword [ebp - 0x18], ebx
fstp st(0)
mov dword [ebp - 0x18], ebx
fstp st(0)
test esi, esi
je 0x475475
mov eax, dword [edx]
cmp eax, 1
jg 0x475342
push esi
push ebx
call dword [0x490660]
cmp word [ebp - 0x28], 0xf
ja 0x40d2b4
mov ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x47539c
push 0x10
call fcn.004233fa
mov esi, eax
add esp, 4
test esi, esi
je 0x40dd5b
mov eax, dword [ebp - 0x44]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [ebp - 8]
mov dword [esi], ebx
mov dword [esi + 0xc], eax
inc dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x38], esi
mov eax, dword [ecx + 0xc]
cmp dword [ecx + 8], eax
je 0x40dace
push 0xc
call fcn.004233fa
mov edx, eax
add esp, 4
mov dword [ebp - 0x20], edx
test edx, edx
je 0x40dd70
mov eax, dword [ebp - 0x24]
mov cx, word [ebp - 0x2e]
mov word [edx + 8], ax
mov word [edx + 0xa], cx
cmp ax, 0x30
jl 0x4753a7
cmp ax, 0x3f
jg 0x4753a7
push 0x10
call fcn.004233fa
mov edx, eax
add esp, 4
test edx, edx
je 0x40dd62
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esi + 4]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 8]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [eax], edx
mov edx, eax
jmp 0x40d0c8
cmp ax, 0x39
ja 0x40d275
jmp 0x40d223
mov eax, dword [ebp - 0x30]
fstp st(0)
fstp st(2)
add eax, 0xffffffd0
fstp st(0)
fstp st(0)
cmp ax, 0xf
ja 0x40d3a6
test esi, esi
je 0x40d3a6
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x475175
push esi
call fcn.0042346e
mov ecx, dword [ebp + 0x10]
add esp, 4
mov eax, 0x40
mov word [ebp - 0x30], ax
lea eax, [ebp - 0x38]
xor esi, esi
push eax
mov dword [ebp - 0x38], esi
call fcn.0040de20
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
mov edi, dword [ecx + 8]
fstp st(0)
fstp st(2)
mov esi, 0x40
fstp st(0)
fstp st(0)
test edi, edi
je 0x40d3e8
mov eax, dword [ecx + 4]
mov eax, dword [eax + edi*4 - 4]
movzx esi, word [eax + 8]
mov ebx, dword [ebp + 0xc]
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xc]
push eax
push ebx
call fcn.0040e030
cmp al, 1
jne 0x40db36
cmp si, 0x4a
je 0x40d95e
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov edi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ebx
jmp 0x40d0dd
fstp st(2)
dec eax
fstp st(0)
push 4
fstp st(0)
mov dword [edx], eax
call fcn.004233fa
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
je 0x4751e7
mov dword [eax], 1
mov dword [ebp - 0x3c], eax
mov eax, 8
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
fld qword [0x4b58a8]
fld qword [0x4b58a0]
mov edx, dword [ebp - 8]
fld qword [0x4b5898]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], ebx
jmp 0x40d1fd
mov eax, dword [ebp + 0xc]
fstp st(0)
fstp st(2)
inc edi
fstp st(0)
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
fstp st(0)
je 0x40dbcb
mov eax, dword [ebp - 0x30]
add eax, 0xffffffd0
cmp ax, 0xf
ja 0x40d4f0
test esi, esi
je 0x40d4f0
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47515b
push esi
call fcn.0042346e
mov ecx, dword [ebp + 0x10]
add esp, 4
mov eax, 0x41
mov word [ebp - 0x30], ax
lea eax, [ebp - 0x38]
xor esi, esi
push eax
mov dword [ebp - 0x38], esi
call fcn.0040de20
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
mov ax, word [ebp - 0x30]
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
cmp ax, 0x30
jge 0x40d801
mov eax, 0x47
jmp 0x40cf26
lea eax, [ebp - 0x48]
fstp st(0)
push eax
fstp st(2)
lea eax, [ebp - 0xc]
fstp st(0)
push eax
fstp st(0)
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040e410
test eax, eax
js 0x47540c
mov eax, dword [ebp - 0x30]
add eax, 0xffffffd0
cmp ax, 0xf
jbe 0x4750d2
mov eax, 0x36
push 0x10
mov word [ebp - 0x30], ax
call fcn.004233fa
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x48]
mov esi, eax
add esp, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x18], ebx
test esi, esi
je 0x40dd4a
mov eax, dword [ebp - 0x44]
mov dword [esi], ebx
mov dword [esi + 4], eax
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
inc dword [ecx]
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x38], esi
call fcn.0040de20
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
fstp st(2)
dec eax
fstp st(0)
push 4
fstp st(0)
mov dword [edx], eax
call fcn.004233fa
mov ecx, eax
add esp, 4
mov dword [ebp - 8], ecx
test ecx, ecx
je 0x40dd20
mov dword [ecx], 1
mov dword [ebp - 0x3c], ecx
mov eax, 8
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
fld qword [0x4b58a8]
fld qword [0x4b58a0]
mov edx, dword [ebp - 8]
fld qword [0x4b5898]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x48], ebx
jmp 0x40cf61
cmp ecx, 0x41c2
jae 0x475259
fstp st(2)
lea eax, [ecx + ecx]
fstp st(0)
fstp st(0)
test eax, eax
je 0x40dd51
add eax, 7
and eax, 0xfffffff8
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
add esp, 4
mov dword [ebp - 0x18], eax
test ebx, ebx
je 0x40d691
lea ecx, [esi*2 + 2]
push ecx
push ebx
push eax
call fcn.00422d90
add esp, 0xc
push ebx
call fcn.00424cf0
mov eax, dword [ebp - 0x18]
add esp, 4
mov edx, dword [ebp - 8]
mov ebx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], ebx
jmp 0x40d240
fstp st(0)
push 0x4e
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
fstp st(0)
push 0x4f
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
cmp ax, 0x29
je 0x40d050
cmp ax, 0x2c
je 0x40d050
cmp ax, 9
je 0x40d050
cmp ax, 0x3d
je 0x40d050
cmp ax, 0x28
je 0x40d050
cmp ax, 0x5d
je 0x40d050
test ax, ax
je 0x40d050
jmp 0x4753f4
cmp ax, 0x3f
jg 0x40d05e
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x40d05e
mov ecx, eax
call fcn.00409de3
push dword [ebp - 0x38]
call fcn.0042346e
add esp, 4
jmp 0x40d05e
cmp ax, 0x39
ja 0x40cfd9
jmp 0x40cf87
cmp ecx, 0x41c2
jae 0x474f54
fstp st(2)
lea eax, [ecx + ecx]
fstp st(0)
fstp st(0)
test eax, eax
je 0x40dd2a
add eax, 7
and eax, 0xfffffff8
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
add esp, 4
mov dword [ebp - 0x24], eax
test ebx, ebx
je 0x40d7e7
lea ecx, [esi*2 + 2]
push ecx
push ebx
push eax
call fcn.00422d90
add esp, 0xc
push ebx
call fcn.00424cf0
mov eax, dword [ebp - 0x24]
add esp, 4
mov edx, dword [ebp - 8]
mov ebx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x48], ebx
jmp 0x40cfa4
mov ecx, 0x32
jmp 0x40d1bb
cmp ax, 0x3f
jg 0x40d525
test esi, esi
je 0x40d525
mov ecx, esi
call fcn.00409de3
push esi
call fcn.0042346e
mov ecx, dword [ebp + 0x10]
add esp, 4
mov eax, 0x47
jmp 0x40cf26
test esi, esi
je 0x40d117
mov ecx, esi
call fcn.00409de3
push esi
call fcn.0042346e
add esp, 4
jmp 0x40d117
push 0x34
call fcn.0040dfae
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040c529
mov esi, dword [ebp - 0x38]
jmp 0x40d067
cmp ax, 0x3f
jg 0x40d0b0
push 0x10
call fcn.004233fa
mov edx, eax
add esp, 4
mov dword [ebp - 0x24], edx
test edx, edx
je 0x40dd34
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esi + 4]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 8]
mov dword [edx + 8], ecx
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov eax, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
jmp 0x40d0c8
fstp st(0)
push 0x4d
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
je 0x40da88
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
fstp st(0)
push 0x49
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
je 0x40da65
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
fstp st(0)
push 0x4a
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
je 0x40da9b
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
cmp word [ebp - 0x30], 5
jne 0x40d410
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + 0x10]
neg esi
adc eax, 0
neg eax
mov dword [ebp - 0x34], eax
mov eax, dword [ecx + 4]
mov edx, 0x49
mov eax, dword [eax + edi*4 - 4]
mov dword [ebp - 0x38], esi
mov word [eax + 8], dx
jmp 0x40d416
mov eax, dword [ebp + 0xc]
fstp st(0)
inc edi
fstp st(2)
fstp st(0)
mov dword [ebp - 0xc], edi
movzx eax, word [eax + edi*2]
fstp st(0)
lea ecx, [ebp - 0x38]
sub eax, 0x3d
je 0x40daae
dec eax
je 0x40da78
push 0x43
call fcn.0040dfae
jmp 0x40d90c
mov eax, dword [ebp + 0xc]
fstp st(0)
fstp st(2)
inc edi
fstp st(0)
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
fstp st(0)
lea ecx, [ebp - 0x38]
je 0x40dabe
push 0x42
call fcn.0040dfae
jmp 0x40d90c
fstp st(0)
push 0x4c
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
je 0x40dc57
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
fstp st(0)
push 0x4b
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov eax, dword [ebp + 0xc]
inc edi
mov dword [ebp - 0xc], edi
cmp word [eax + edi*2], 0x3d
je 0x4750e7
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
inc edi
push 0x52
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
call fcn.0040dfae
jmp 0x40d90c
push 0x44
call fcn.0040dfae
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d90c
inc edi
push 0x56
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
call fcn.0040dfae
jmp 0x40d8d1
inc edi
push 0x53
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
call fcn.0040dfae
jmp 0x40d947
push 0x46
call fcn.0040dfae
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d90c
push 0x45
call fcn.0040dfae
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d90c
add eax, eax
cmp eax, 8
jae 0x40dada
mov eax, 8
mov dword [ecx + 0xc], eax
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
mov ecx, eax
mov eax, dword [ebp + 0x10]
add esp, 4
mov edx, dword [eax + 4]
mov dword [ebp - 0x28], ecx
test edx, edx
je 0x40db2e
mov eax, dword [eax + 8]
test eax, eax
je 0x40db2b
shl eax, 2
push eax
push edx
push ecx
call fcn.00422d90
mov eax, dword [ebp + 0x10]
add esp, 0xc
push dword [eax + 4]
call fcn.0042346e
mov ecx, dword [ebp - 0x28]
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax + 4], ecx
jmp 0x40d2f0
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0xc]
movzx eax, cx
cmp eax, 0x2e
jne 0x474ebe
inc edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xc], edi
call fcn.0040e54f
movzx eax, word [ebx + edi*2]
cmp ax, 0x5a
jbe 0x40db76
cmp ax, 0x61
jb 0x40db7e
cmp ax, 0x7a
ja 0x40db7e
push eax
lea ecx, [ebp - 0x48]
call fcn.0040e367
inc edi
jmp 0x40db54
cmp ax, 0x41
jae 0x40db6a
jmp 0x40db5e
cmp ax, 0x30
jae 0x474eaf
cmp ax, 0x5f
je 0x40db6a
cmp ax, 0x7f
ja 0x40db6a
cmp dword [ebp - 0x44], 0
mov dword [ebp - 0xc], edi
je 0x4753ce
push 0x35
lea ecx, [ebp - 0x38]
call fcn.0040dfae
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040c529
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
jmp 0x40d422
push 0x50
lea ecx, [ebp - 0x38]
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x38]
inc edi
push eax
mov dword [ebp - 0xc], edi
call fcn.0040de20
mov ecx, dword [ebp + 0x10]
jmp 0x40d0da
add eax, eax
cmp eax, 8
jb 0x40dd77
mov dword [ecx + 0xc], eax
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
mov ecx, eax
mov eax, dword [ebp + 0x10]
add esp, 4
mov edx, dword [eax + 4]
mov dword [ebp + 0xc], ecx
test edx, edx
je 0x40dc4f
mov eax, dword [eax + 8]
test eax, eax
je 0x40dc4c
shl eax, 2
push eax
push edx
push ecx
call fcn.00422d90
mov eax, dword [ebp + 0x10]
add esp, 0xc
push dword [eax + 4]
call fcn.0042346e
mov ecx, dword [ebp + 0xc]
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax + 4], ecx
jmp 0x40d131
inc edi
push 0x55
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
call fcn.0040dfae
jmp 0x40da13
fstp st(0)
push 0x57
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
fstp st(0)
push 0x58
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
cmp ax, 0x7a
jbe 0x40cf54
jmp 0x40ce86
add eax, eax
cmp eax, 8
jae 0x40dcdf
mov eax, 8
mov dword [ecx + 0xc], eax
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
mov ecx, eax
mov eax, dword [ebp + 0x10]
add esp, 4
mov edx, dword [eax + 4]
mov dword [ebp - 0x24], ecx
test edx, edx
jne 0x475097
mov dword [eax + 4], ecx
jmp 0x40d07f
xor edx, edx
mov dword [ebp - 8], edx
jmp 0x40cdac
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x40d5e1
mov eax, 8
jmp 0x40d7a3
mov edx, dword [ebp - 0x20]
xor eax, eax
mov dword [edx], eax
jmp 0x40d0c8
fld qword [ebp - 0x38]
fstp qword [edx]
jmp 0x40d0c8
xor esi, esi
jmp 0x40d5a1
mov eax, 8
jmp 0x40d64d
xor esi, esi
jmp 0x40d2de
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax], edx
mov edx, eax
jmp 0x40d0c8
xor edx, edx
jmp 0x40d0c8
mov eax, 8
jmp 0x40dbfb
xor edx, edx
jmp 0x40d154
push dword [ecx]
call fcn.0042346e
mov eax, dword [ebp - 0x24]
add esp, 4
push dword [eax + 0xc]
call fcn.0042346e
mov ecx, dword [ebp - 0x24]
add esp, 4
jmp 0x40cee5
cmp ax, 0x39
jbe 0x40db6a
jmp 0x40db88
mov ecx, dword [ebp - 0x40]
fld qword [0x4b58a8]
mov edx, dword [ebp - 0x3c]
fld qword [0x4b58a0]
mov ebx, dword [ebp - 0x48]
fld qword [0x4b5898]
mov esi, dword [ebp - 0x38]
fldz
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 0x18], ebx
jmp 0x40ce72
fstp st(2)
lea eax, [ecx - 1]
fstp st(0)
lea ecx, [ebp - 0x48]
fstp st(0)
mov dword [edx], eax
call fcn.00409da9
mov esi, dword [ebp - 0x44]
lea eax, [esi + 2]
push eax
call fcn.0040c4fa
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
add esp, 4
mov ebx, eax
lea eax, [esi*2 + 2]
push eax
push dword [ebp - 0x48]
push ebx
call fcn.00422d90
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x48], ebx
mov dword [ebp - 8], edx
jmp 0x40cfa4
cmp ecx, 0x2000000
jae 0x474fa5
fstp st(1)
mov dword [ebp - 0x28], ecx
fstp st(0)
fild dword [ebp - 0x28]
test ecx, ecx
jns 0x474f70
fadd qword [0x4b9a10]
fstp qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
fnstcw word [ebp - 6]
movzx eax, word [ebp - 6]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x24], eax
fldcw word [ebp - 0x24]
fistp qword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d795
fstp st(2)
cmp ecx, 0x8000000
jae 0x474ff6
mov dword [ebp - 0x28], ecx
fstp st(1)
fild dword [ebp - 0x28]
test ecx, ecx
jns 0x474fc1
fadd qword [0x4b9a10]
fstp qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
fnstcw word [ebp - 6]
movzx eax, word [ebp - 6]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x24], eax
fldcw word [ebp - 0x24]
fistp qword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d795
mov dword [ebp - 0x28], ecx
fstp st(0)
fild dword [ebp - 0x28]
test ecx, ecx
jns 0x475008
fadd qword [0x4b9a10]
fstp qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
fnstcw word [ebp - 6]
movzx eax, word [ebp - 6]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x24], eax
fldcw word [ebp - 0x24]
fistp qword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d795
dec eax
lea ecx, [ebp - 0x48]
mov dword [edx], eax
call fcn.00409da9
mov esi, dword [ebp - 0x44]
inc esi
push esi
call fcn.0040c4fa
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
mov ebx, eax
add esp, 4
lea eax, [esi + esi]
push eax
push dword [ebp - 0x48]
mov dword [ebp - 0x18], ebx
push ebx
call fcn.00422d90
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x48], ebx
mov dword [ebp - 8], ecx
jmp 0x40cff6
mov eax, dword [eax + 8]
test eax, eax
je 0x4750bd
shl eax, 2
push eax
push edx
push ecx
call fcn.00422d90
mov eax, dword [ebp + 0x10]
add esp, 0xc
push dword [eax + 4]
call fcn.0042346e
mov ecx, dword [ebp - 0x24]
add esp, 4
mov eax, dword [ebp + 0x10]
jmp 0x40dd0e
mov eax, dword [ebp - 0x34]
mov dword [edx], esi
mov dword [edx + 4], eax
jmp 0x40d0c8
test esi, esi
je 0x40d562
push ecx
mov ecx, esi
call fcn.00404623
jmp 0x40d562
inc edi
push 0x54
lea ecx, [ebp - 0x38]
mov dword [ebp - 0xc], edi
call fcn.0040dfae
jmp 0x40da4e
fstp st(0)
push 0x51
fstp st(2)
lea ecx, [ebp - 0x38]
fstp st(0)
fstp st(0)
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x10]
inc edi
mov dword [ebp - 0xc], edi
jmp 0x40d0da
test edi, edi
jne case.0x40cec1.27
mov eax, dword [ebp + 0xc]
cmp word [eax + 2], di
jne case.0x40cec1.27
mov ecx, dword [ebp + 8]
cmp ecx, dword [0x4c5110]
mov ecx, dword [ebp + 0x10]
jl case.0x40cec1.27
mov edi, 1
mov dword [ebp - 0xc], edi
jmp 0x40d0f4
push dword [esi]
call fcn.0042346e
add esp, 4
push dword [esi + 0xc]
call fcn.0042346e
add esp, 4
jmp 0x40d4e4
push dword [esi]
call fcn.0042346e
add esp, 4
push dword [esi + 0xc]
call fcn.0042346e
add esp, 4
jmp 0x40d39a
test esi, esi
je 0x40d1ce
fstp st(0)
push ecx
fstp st(2)
mov ecx, esi
fstp st(0)
fstp st(0)
call fcn.00404623
fld qword [0x4b58a8]
mov ecx, dword [ebp - 0x24]
fld qword [0x4b58a0]
fld qword [0x4b5898]
fldz
jmp 0x40d1ce
cmp cx, 0x10
jne 0x4751d5
mov dword [ebp - 0x34], 0
jmp 0x40d1e2
cmp cx, 0x20
jne 0x40d1e2
fstp qword [ebp - 0x38]
jmp 0x40d1eb
xor ecx, ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x3c], ecx
jmp 0x40d463
fstp st(2)
lea eax, [ecx - 1]
fstp st(0)
lea ecx, [ebp - 0x48]
fstp st(0)
mov dword [edx], eax
call fcn.00409da9
mov esi, dword [ebp - 0x44]
lea eax, [esi + 2]
push eax
call fcn.0040c4fa
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004233fa
add esp, 4
mov ebx, eax
lea eax, [esi*2 + 2]
push eax
push dword [ebp - 0x48]
push ebx
call fcn.00422d90
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x48], ebx
mov dword [ebp - 8], edx
jmp 0x40d240
cmp ecx, 0x2000000
jae 0x4752aa
fstp st(1)
mov dword [ebp - 0x18], ecx
fstp st(0)
fild dword [ebp - 0x18]
test ecx, ecx
jns 0x475275
fadd qword [0x4b9a10]
fstp qword [ebp - 0x1c]
fnstcw word [ebp - 6]
fmul qword [ebp - 0x1c]
movzx eax, word [ebp - 6]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x18], eax
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d63f
fstp st(2)
cmp ecx, 0x8000000
jae 0x4752fb
fstp st(1)
mov dword [ebp - 0x18], ecx
fild dword [ebp - 0x18]
test ecx, ecx
jns 0x4752c6
fadd qword [0x4b9a10]
fstp qword [ebp - 0x1c]
fnstcw word [ebp - 6]
fmul qword [ebp - 0x1c]
movzx eax, word [ebp - 6]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x18], eax
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d63f
fstp st(0)
mov dword [ebp - 0x18], ecx
fild dword [ebp - 0x18]
test ecx, ecx
jns 0x47530d
fadd qword [0x4b9a10]
fstp qword [ebp - 0x1c]
fnstcw word [ebp - 6]
fmul qword [ebp - 0x1c]
movzx eax, word [ebp - 6]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
or eax, 0xc00
mov dword [ebp - 0x18], eax
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
fldcw word [ebp - 6]
mov dword [ebp - 8], ecx
jmp 0x40d63f
dec eax
lea ecx, [ebp - 0x48]
mov dword [edx], eax
call fcn.00409da9
mov esi, dword [ebp - 0x44]
inc esi
push esi
call fcn.0040c4fa
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x40], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00422d79
mov ebx, eax
add esp, 4
lea eax, [esi + esi]
push eax
push dword [ebp - 0x48]
mov dword [ebp - 0x18], ebx
push ebx
call fcn.00422d90
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x44]
add esp, 0xc
mov dword [ebp - 0x48], ebx
mov dword [ebp - 8], ecx
jmp 0x40d29a
push ecx
call fcn.00404623
jmp 0x40d2b4
cmp ax, 0x10
jne 0x4753ba
mov eax, dword [ebp - 0x34]
mov dword [edx], esi
mov dword [edx + 4], eax
jmp 0x40d0c8
cmp ax, 0x20
jne 0x40d0c6
fld qword [ebp - 0x38]
fstp qword [edx]
jmp 0x40d0c8
lea eax, [edi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.004460b3
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x48]
mov dword [ebp + 0x10], 0xffffffff
jmp 0x40d169
push 0xffffffffffffffff
lea ecx, [ebp - 0x38]
call fcn.0040dfae
or esi, 0xffffffff
push edi
push 0x138c
jmp 0x4754a6
push 0x7f
lea ecx, [ebp - 0x38]
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x48]
mov dword [ebp + 0x10], 0xffffffff
jmp 0x40d169
fstp st(0)
push edi
fstp st(2)
push 0x1388
push dword [ebp + 8]
fstp st(0)
fstp st(0)
call fcn.004460b3
push 0x7f
lea ecx, [ebp - 0x38]
call fcn.0040dfae
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push eax
call fcn.0040de20
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 8]
mov dword [ebp + 0x10], 0xffffffff
jmp 0x40d169
lea eax, [edi - 1]
push eax
push 0x138b
push dword [ebp + 8]
call fcn.004460b3
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 8]
mov dword [ebp + 0x10], 0xffffffff
jmp 0x40d169
fstp st(0)
push edi
fstp st(2)
push 0x138b
fstp st(0)
fstp st(0)
push dword [ebp + 8]
call fcn.004460b3
mov edi, dword [ebp - 8]
mov dword [ebp + 0x10], 0xffffffff
jmp 0x40d169
test esi, esi
je 0x40d18f
push ecx
mov ecx, esi
call fcn.00404623
jmp 0x40d18f