Function at 0x406960
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x174
mov eax, dword [0x57f7c4]
xor eax, esp
mov dword [esp + 0x170], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [eax + 4]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x801
push esi
push edi
mov esi, ecx
jg 0x406c6e
je 0x406bdf
cmp eax, 0x601
jg 0x406ad1
je 0x406aa7
cmp eax, 0x108
jg 0x406a6a
je 0x406a14
sub eax, 0x103
je 0x4069eb
sub eax, 2
jne case.0x406c8d.2051
movzx eax, byte [ebx + 2]
mov dword [0x58799c], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov bl, byte [ebx + 2]
movzx ecx, bl
mov byte [0x5827c8], bl
mov dword [0x1091420], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
cmp dword [0x5879c4], 0
jne case.0x406c8d.2051
mov edx, dword [ebx + 2]
mov dword [0x5845b0], edx
mov eax, dword [ebx + 6]
mov dword [0x5845b4], eax
mov ecx, dword [ebx + 0xa]
mov dword [0x5845b8], ecx
mov edx, dword [ebx + 0xe]
mov dword [0x5845bc], edx
call fcn.00464ca0
mov dword [0x5879c4], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x305
jne case.0x406c8d.2051
movzx eax, word [ebx + 7]
movzx edx, word [ebx + 4]
push eax
mov eax, dword [0x587960]
lea ecx, [ebx + 0x29]
push ecx
mov cl, byte [ebx + 6]
push eax
call fcn.00414e70
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
movzx edi, word [ebx + 2]
mov ecx, dword [0x587960]
add ebx, 4
push ebx
call fcn.00414e00
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
sub eax, 0x602
cmp eax, 3
ja case.0x406c8d.2051
jmp dword [eax*4 + 0x4076ac]
mov ecx, 0x109e5c0
call fcn.004ef590
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x109e8a0
call fcn.004e9aa0
cmp byte [0x109e8c4], 0
mov dl, byte [ebx + 3]
mov ecx, 0x204
mov word [esp + 0xc], cx
push 5
lea ecx, [esp + 0x10]
sete al
push ecx
mov ecx, esi
mov byte [esp + 0x17], dl
mov byte [esp + 0x16], 4
mov byte [esp + 0x18], al
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x109e8a0
call fcn.004e9980
cmp byte [0x109e8c4], 0
mov al, byte [ebx + 3]
mov edx, 0x204
sete cl
mov word [esp + 0xc], dx
push 5
lea edx, [esp + 0x10]
mov byte [esp + 0x14], cl
push edx
mov ecx, esi
mov byte [esp + 0x17], al
mov byte [esp + 0x16], 4
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
movzx eax, word [ebx + 4]
mov ecx, 0x806
mov dword [0x109e6ec], eax
push 6
mov word [ebx], cx
push ebx
mov ecx, esi
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
cmp byte [ebx + 2], 0
movzx edx, byte [ebx + 0x5e]
mov eax, dword [ebx + 0x5a]
mov ecx, dword [ebx + 0x56]
push edx
movzx edx, byte [ebx + 0x55]
push eax
push ecx
mov ecx, dword [ebx + 0x11]
push edx
mov edx, dword [ebx + 0xd]
lea eax, [ebx + 0x35]
jne 0x406c37
push 1
push eax
movzx eax, byte [ebx + 0xc]
push ecx
push edx
movzx edx, byte [ebx + 0xb]
push eax
mov eax, dword [ebx + 7]
lea ecx, [ebx + 0x15]
push ecx
mov ecx, dword [ebx + 3]
push edx
push eax
push ecx
call fcn.00413b30
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
push 0
push eax
movzx eax, byte [ebx + 0xc]
push ecx
push edx
movzx edx, byte [ebx + 0xb]
push eax
mov eax, dword [ebx + 7]
lea ecx, [ebx + 0x15]
push ecx
mov ecx, dword [ebx + 3]
push edx
push eax
push ecx
call fcn.00413b30
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x1b01
jg 0x407202
je 0x40716a
sub eax, 0x802
cmp eax, 0x19
ja case.0x406c8d.2051
jmp dword [eax*4 + 0x4076bc]
mov edx, dword [ebx + 6]
mov eax, dword [ebx + 2]
push edx
call fcn.00413a50
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 2]
push eax
call fcn.00413a90
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 2]
push 0x67
push ecx
call fcn.00414b20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 2]
push 0x6d
push edx
call fcn.00414b20
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 2]
push 0x67
push eax
call fcn.00414b20
mov edx, dword [ebx + 2]
mov ecx, 0x802
push 6
lea eax, [esp + 0x10]
mov word [esp + 0x10], cx
mov ecx, dword [0x587968]
push eax
mov dword [esp + 0x16], edx
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
movzx ecx, word [ebx + 5]
push ecx
mov eax, ebx
call fcn.00419430
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebx + 6]
mov edx, dword [ebx + 2]
call fcn.0040bba0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 2]
mov ecx, dword [0x587960]
push edx
call fcn.00414c70
mov esi, eax
test esi, esi
je case.0x406c8d.2051
cmp dword [esi + 0x68], 0xffffffff
je case.0x406c8d.2051
lea edi, [esi + 0x6284]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov cl, byte [ebx + 6]
push 3
lea edx, [esp + 0x18]
mov eax, 0x110
mov byte [esp + 0x1a], cl
push edx
mov ecx, esi
mov word [esp + 0x1c], ax
call fcn.004ed0e0
cmp byte [ebx + 6], 0
jne 0x406e2d
mov dword [esi + 0x5878], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x1388
mov ecx, esi
mov dword [esi + 0x587c], eax
mov dword [esi + 0x5880], 1
call fcn.0047ad70
mov ecx, esi
call fcn.0047aa40
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 2]
mov ecx, dword [0x587960]
push eax
call fcn.00414c70
mov esi, eax
test esi, esi
je case.0x406c8d.2051
cmp dword [esi + 0x68], 0xffffffff
je case.0x406c8d.2051
lea edi, [esi + 0x6284]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi + 0x58b8], 0
je 0x406e2d
cmp dword [esi + 0x58b4], 6
jne 0x406e2d
mov cl, byte [ebx + 6]
xor edx, edx
mov byte [esi + 0x5884], cl
cmp byte [ebx + 6], dl
push edi
setne dl
dec edx
and edx, 2
mov dword [esi + 0x5880], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 3]
movzx ecx, byte [ebx + 2]
push eax
push ecx
call fcn.00419a70
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
movzx edx, byte [ebx + 2]
mov eax, dword [ebx + 3]
push edx
call fcn.00419bc0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xa]
push eax
call fcn.004388d0
mov edi, eax
test edi, edi
je case.0x406c8d.2051
lea esi, [edi + 0x5cc]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebx + 6]
mov edx, dword [ebx + 2]
push ecx
push edx
call fcn.00433320
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xa]
push eax
call fcn.004388d0
mov edi, eax
test edi, edi
je case.0x406c8d.2051
lea esi, [edi + 0x5cc]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebx + 6]
push ecx
call fcn.00433370
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 3]
push edx
call fcn.004388d0
mov esi, eax
test esi, esi
je case.0x406c8d.2051
lea edi, [esi + 0x5cc]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebx + 7]
movzx edx, byte [ebx + 0x20]
push eax
lea ecx, [ebx + 0x21]
push edx
add ebx, 0xb
push ebx
push esi
call fcn.00432530
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 3]
push eax
call fcn.004388d0
mov esi, eax
test esi, esi
je case.0x406c8d.2051
lea edi, [esi + 0x5cc]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movzx ecx, byte [ebx + 0x20]
lea edx, [ebx + 0x21]
push ecx
add ebx, 0xb
push ebx
mov ecx, esi
call fcn.00432770
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 2]
mov ecx, dword [0x587960]
push edx
call fcn.00414c70
mov edi, eax
test edi, edi
je case.0x406c8d.2051
cmp dword [edi + 0x68], 0xffffffff
je case.0x406c8d.2051
mov eax, 0x1104
mov word [esp + 0xd8], ax
lea eax, [ebx + 6]
lea edx, [esp + 0xda]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x407082
mov al, byte [ebx + 0x1b]
movzx esi, al
push esi
add ebx, 0x1c
lea ecx, [esp + 0xf4]
push ebx
push ecx
mov byte [esp + 0xfb], al
call fcn.0051d7c0
add esp, 0xc
add esi, 0x18
push esi
lea edx, [esp + 0xdc]
push edx
mov ecx, edi
call fcn.004ed0e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 2]
mov ecx, dword [0x587960]
push eax
call fcn.00414c70
mov edi, eax
test edi, edi
je case.0x406c8d.2051
cmp dword [edi + 0x68], 0xffffffff
je case.0x406c8d.2051
mov ecx, 0xf104
lea eax, [ebx + 6]
lea edx, [esp + 0xda]
mov word [esp + 0xd8], cx
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x407114
mov al, byte [ebx + 0x1b]
movzx esi, al
push esi
add ebx, 0x1c
lea edx, [esp + 0xf4]
push ebx
push edx
mov byte [esp + 0xfb], al
call fcn.0051d7c0
add esp, 0xc
add esi, 0x18
push esi
lea eax, [esp + 0xdc]
push eax
mov ecx, edi
call fcn.004ed0e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x587960]
mov ecx, dword [ebx + 2]
lea edx, [esp + 0xc]
push edx
add esi, 0xa0
mov dword [esp + 0x10], ecx
call fcn.00415480
mov esi, eax
test esi, esi
je case.0x406c8d.2051
cmp dword [esi + 0x68], 0xffffffff
je case.0x406c8d.2051
push 0
push 0
lea eax, [esi + 0x5ac4]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne case.0x406c8d.2051
cmp byte [ebx + 6], al
jbe 0x4071bc
mov dword [ebx + 7], eax
mov ecx, dword [ebx + 7]
push ecx
lea edi, [esi + 0x5ac0]
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov eax, dword [edi]
push 6
lea ecx, [esp + 0x10]
mov edx, 0x2605
push ecx
mov ecx, esi
mov word [esp + 0x14], dx
mov dword [esp + 0x16], eax
call fcn.004ed0e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
sub eax, 0x1b02
je 0x407386
sub eax, 1
jne case.0x406c8d.2051
mov esi, dword [0x587960]
mov edx, dword [ebx + 2]
lea eax, [esp + 0xc]
push eax
add esi, 0xa0
mov dword [esp + 0x10], edx
call fcn.00415480
mov esi, eax
test esi, esi
je case.0x406c8d.2051
cmp dword [esi + 0x68], 0xffffffff
je case.0x406c8d.2051
mov ecx, dword [ebx + 0x30]
cmp ecx, dword [ebx + 0x34]
jbe 0x4072e2
push 0x15
lea eax, [ebx + 0x1b]
push eax
lea ecx, [esp + 0x6b]
mov edx, 0x2603
push ecx
mov word [esp + 0x6c], dx
call fcn.0051b2d0
mov edx, dword [ebx + 0x34]
add esp, 0xc
push 0x39
lea eax, [esp + 0x64]
push eax
mov ecx, esi
mov dword [esp + 0x80], edx
mov byte [esp + 0x6a], 7
call fcn.004ed0e0
push 0
lea ecx, [esi + 0x5ac4]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov edx, dword [ebx + 0x34]
push edx
lea edi, [esi + 0x5ac0]
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov ecx, dword [edi]
push 6
lea edx, [esp + 0x10]
mov eax, 0x2605
mov dword [esp + 0x12], ecx
push edx
mov ecx, esi
mov word [esp + 0x14], ax
call fcn.004ed0e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
push 0x5879b0
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, eax
call fcn.004e1a50
mov ecx, dword [esi + 0x582c]
mov dword [esp + 0xc], eax
mov eax, 0xe03
push 0x15
lea edx, [ebx + 0x1b]
mov word [esp + 0xa0], ax
push edx
lea eax, [esp + 0xaa]
push eax
mov dword [esp + 0xaa], ecx
call fcn.0051b2d0
add esp, 0xc
push 0x15
lea ecx, [ebx + 6]
push ecx
lea edx, [esp + 0xbf]
push edx
call fcn.0051b2d0
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0x30]
add esp, 0xc
push 0x3c
lea edx, [esp + 0xa0]
mov dword [esp + 0xd4], ecx
mov ecx, dword [0x58796c]
push edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], edi
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov esi, dword [0x587960]
mov eax, dword [ebx + 2]
lea ecx, [esp + 0xc]
push ecx
add esi, 0xa0
mov dword [esp + 0x10], eax
call fcn.00415480
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x407662
cmp dword [edi + 0x68], 0xffffffff
je 0x407662
push 0
lea edx, [edi + 0x5ac4]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp byte [ebx + 0xa], 0
jbe 0x4075ea
mov eax, dword [ebx + 0x38]
test eax, eax
jne 0x4074f1
mov dword [esp + 0xc], 1
lea esi, [edi + 0x220]
lea ecx, [ecx]
mov dword [esp + 0x18], 0
jmp 0x407400
mov edi, dword [esi]
test edi, edi
je 0x4074a2
mov eax, dword [edi + 0x9c]
cmp eax, dword [ebx + 0x40]
jne 0x4074a2
movzx edx, byte [esp + 0xc]
movzx eax, byte [esp + 0x18]
mov ecx, 0x206
mov word [esp + 0x28], cx
push 7
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], al
mov byte [esp + 0x34], 0
mov byte [esp + 0x35], 0
mov byte [esp + 0x36], 0
call fcn.004ed0e0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x582c]
movzx eax, byte [esp + 0x18]
mov edx, 0x702
mov word [esp + 0x1c], dx
movzx edx, byte [esp + 0xc]
mov dword [esp + 0x1e], ecx
mov cl, byte [edi + 0x42]
mov byte [esp + 0x22], dl
push 9
lea edx, [esp + 0x20]
mov byte [esp + 0x28], cl
mov ecx, dword [0x58796c]
push edx
mov byte [esp + 0x2b], al
call fcn.004ed2d0
call fcn.00411710
mov dword [esi], 0
mov eax, dword [esp + 0x18]
inc eax
add esi, 4
cmp eax, 0x18
mov dword [esp + 0x18], eax
jl 0x407400
mov eax, dword [esp + 0xc]
inc eax
cmp eax, 6
mov dword [esp + 0xc], eax
jl 0x4073f0
lea ecx, [esp + 0xd8]
push 3
mov eax, 0x2602
push ecx
mov ecx, dword [esp + 0x1c]
mov word [esp + 0xe0], ax
mov byte [esp + 0xe2], 2
jmp 0x4075a0
mov ecx, dword [0x587960]
push eax
call fcn.00414c70
mov esi, eax
test esi, esi
je 0x407588
lea eax, [esi + 0x624c]
mov edx, 0x2609
push eax
mov dword [esp + 0x10], 0
mov word [esp + 0x48], dx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0xc]
xor ecx, ecx
lea eax, [esi + 0x5acd]
mov edi, dword [eax + 3]
cmp edi, dword [ebx + 0x40]
jne 0x407551
mov byte [esp + edx + 0x47], cl
mov byte [eax - 1], 0
mov byte [eax], 0
mov byte [eax + 1], 0
mov dword [eax + 3], 0
inc edx
inc ecx
add eax, 8
cmp ecx, 0xf0
jl 0x407532
lea eax, [esi + 0x624c]
push eax
mov dword [esp + 0x10], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, byte [esp + 0xc]
push 0x1b
lea ecx, [esp + 0x48]
push ecx
mov ecx, esi
mov byte [esp + 0x4e], al
call fcn.004ed0e0
mov edi, dword [esp + 0x14]
mov edx, 0x2603
push 3
lea eax, [esp + 0x64]
mov word [esp + 0x64], dx
mov byte [esp + 0x66], 7
push eax
mov ecx, edi
call fcn.004ed0e0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x582c]
mov edx, dword [ebx + 0x3c]
mov ecx, 0xe09
mov word [esp + 0x30], cx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x36], ecx
push 0x12
lea ecx, [esp + 0x34]
mov dword [esp + 0x36], eax
mov eax, dword [ebx + 0x40]
push ecx
mov ecx, dword [0x58796c]
mov dword [esp + 0x42], edx
mov dword [esp + 0x46], eax
call fcn.004ed2d0
mov edi, dword [esp + 0x14]
jmp 0x407616
cmp dword [ebx + 0x38], 0
jne 0x407616
mov eax, dword [edi + 0x582c]
push 6
lea ecx, [esp + 0x10]
mov edx, 0xe0a
push ecx
mov ecx, dword [0x58796c]
mov word [esp + 0x14], dx
mov dword [esp + 0x16], eax
call fcn.004ed2d0
mov edx, dword [ebx + 0x24]
cmp edx, dword [edi + 0x5ac0]
je case.0x406c8d.2051
mov ecx, dword [ebx + 2]
mov edx, dword [edi + 0x70]
mov eax, 0x1b01
mov word [esp + 0x1c], ax
push 0xa
lea eax, [esp + 0x20]
mov dword [esp + 0x22], ecx
mov ecx, dword [0x587968]
push eax
mov dword [esp + 0x2a], edx
call fcn.004ed2d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4
mov al, byte [ebx + 0xa]
test al, al
jbe case.0x406c8d.2051
lea ecx, [ebx + 0x28]
push ecx
mov ecx, dword [ebx + 6]
movzx eax, al
lea edx, [ebx + 0xb]
push edx
mov edx, dword [ebx + 2]
push eax
mov eax, dword [0x587970]
push ecx
push edx
add eax, 0xe0
push str._Buy_CashPoint_Item_NotExist__:_UserUID_d__CharID_d__Result_d__ItemKey_s__PurchaseNo_s
push eax
call fcn.004efdc0
add esp, 0x1c
mov ecx, dword [esp + 0x17c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0051a8be
mov esp, ebp
pop ebp
ret 4