Function at 0x415900
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x20], ebx
movzx esi, word [ebx + 6]
lea edi, [ebx + 8]
mov edx, edi
mov ecx, esi
call fcn.0051f8f0
test al, al
jne 0x41596f
push edi
push esi
push str._DGCashShopItemUseRecv__Invalid_Account___d___s_
push 1
call fcn.005262e0
movzx eax, word [ebx + 6]
add esp, 0x10
mov ecx, 0xbf3318
push eax
call fcn.00519530
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4
mov esi, dword [esi*4 + 0x20a514c]
mov dword [esp + 0x10], 0xbd205c1
mov dword [esi + 0x6f0], 0
cmp byte [ebx + 0x13], 0
jne 0x415b8d
mov edx, dword [ebx + 0x30]
xor ecx, ecx
mov eax, 0x5b3c98
nop dword [eax]
cmp dword [eax], edx
je 0x4159b4
add eax, 0x4c
inc ecx
cmp eax, 0x5d8e58
jl 0x4159a0
jmp 0x415b8d
imul edx, ecx, 0x4c
lea edi, [edx + 0x5b3c94]
test edi, edi
je 0x415b8d
xor ecx, ecx
mov ebx, 0x6460e4
nop dword [eax]
test ecx, ecx
js 0x4159ec
cmp ecx, 0x100
jge 0x4159ec
cmp dword [ebx], ecx
jne 0x4159ec
mov eax, dword [ebx + 8]
cmp eax, dword [edi + 0xc]
je 0x415adb
add ebx, 0x4c
inc ecx
cmp ebx, 0x64ace4
jl 0x4159d0
mov ebx, dword [edi + 0x48]
mov edx, dword [edx + 0x5b3ca0]
movzx eax, dx
test ebx, ebx
jne 0x415c08
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x18], ecx
cmp edx, 0x1c5b
je 0x415b4d
cmp edx, 0x1c61
je 0x415b4d
cmp edx, 0x1c62
je 0x415b4d
cmp edx, 0x1c72
je 0x415b4d
cmp edx, 0x1c75
je 0x415b4d
cmp edx, 0x1ca2
je 0x415b4d
cmp edx, 0x1ca3
je 0x415b4d
cmp edx, 0x1ca9
je 0x415b4d
push edx
push esi
call fcn.0049d7b0
test al, al
je 0x415b8d
lea ecx, [esp + 0x48]
call fcn.00493c10
mov eax, ebx
mov word [esp + 0x4c], ax
mov al, byte [edi + 0x30]
mov byte [esp + 0x11b], al
mov al, byte [edi + 0x34]
mov byte [esp + 0x11c], al
mov al, byte [edi + 0x38]
mov byte [esp + 0x11d], al
mov al, byte [edi + 0x3c]
mov byte [esp + 0x11e], al
mov al, byte [edi + 0x40]
mov byte [esp + 0x11f], al
mov eax, ecx
push eax
call fcn.00518150
mov byte [esp + 0x120], al
push 0
jmp 0x415d3c
mov ecx, dword [esi + 0x624]
xor edx, edx
add ecx, 4
mov al, byte [ecx]
cmp al, 0xff
je 0x415af3
movzx eax, al
cmp eax, dword [ebx]
je 0x415b23
inc edx
add ecx, 0x1c
cmp edx, 0x20
jl 0x415ae6
push 0
call fcn.0052d9f5
mov ecx, dword [edi + 0x48]
add esp, 4
add ecx, eax
push 0
push 0
push 0
push 0
push ecx
push dword [ebx]
push 1
push esi
call fcn.00477200
jmp case.0x415b73.7260
push 5
lea eax, [esp + 0x14]
mov byte [esp + 0x18], 3
push eax
push dword [esi]
call fcn.005192f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x48]
call fcn.00493c10
movsx eax, dx
add eax, 0xffffe3a5
mov word [esp + 0x4c], bx
cmp eax, 0x4e
ja case.0x415b73.7260
movzx eax, byte [eax + 0x415e98]
jmp dword [eax*4 + 0x415e80]
lea eax, [esp + 0x48]
push eax
push esi
call fcn.004d8a00
test al, al
jne case.0x415b73.7260
push 5
lea eax, [esp + 0x14]
mov byte [esp + 0x18], 1
push eax
push dword [esi]
call fcn.005192f0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.00525e30
jmp 0x415b85
mov byte [esi + 0xa84], 1
jmp case.0x415b73.7260
mov eax, dword [esi + 0x634]
cmp eax, 2
jge 0x415b8d
mov ecx, dword [esi]
inc eax
mov dword [esi + 0x634], eax
call fcn.004729b0
jmp case.0x415b73.7260
mov eax, dword [esi + 0x63c]
cmp eax, 1
jge 0x415b8d
mov ecx, dword [esi]
inc eax
mov dword [esi + 0x63c], eax
call fcn.004729b0
jmp case.0x415b73.7260
mov dword [esp + 0x18], eax
cmp edx, 0x1a7c
jne 0x415cc2
mov eax, dword [esi]
mov word [esp + 0x28], ax
mov word [esp + 0x24], 0x18c1
mov byte [esp + 0x26], 0x11
mov ecx, dword [eax*4 + 0x20a514c]
push 0x18
movq xmm0, qword [ecx + 0x7b]
movq qword [esp + 0x2e], xmm0
movzx eax, word [ecx + 0x83]
mov word [esp + 0x36], ax
mov al, byte [ecx + 0x85]
mov ecx, 0x6509a8
mov byte [esp + 0x38], al
movzx eax, word [edi + 0x10]
mov word [esp + 0x3a], ax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x40], ebx
call fcn.00440610
mov eax, dword [esi]
mov ecx, 0x6509a8
mov word [esp + 0x28], ax
mov word [esp + 0x24], 0x12c1
mov byte [esp + 0x26], 5
mov edx, dword [eax*4 + 0x20a514c]
push 0x12
movq xmm0, qword [edx + 0x7b]
movq qword [esp + 0x2e], xmm0
movzx eax, word [edx + 0x83]
mov word [esp + 0x36], ax
mov al, byte [edx + 0x85]
mov byte [esp + 0x38], al
lea eax, [esp + 0x28]
push eax
call fcn.00440610
jmp case.0x415b73.7260
push edx
push esi
call fcn.0049d7b0
test al, al
je 0x415b8d
lea ecx, [esp + 0x48]
call fcn.00493c10
mov eax, dword [esp + 0x18]
mov word [esp + 0x4c], ax
mov al, byte [edi + 0x30]
mov byte [esp + 0x11b], al
mov al, byte [edi + 0x34]
mov byte [esp + 0x11c], al
mov al, byte [edi + 0x38]
mov byte [esp + 0x11d], al
mov al, byte [edi + 0x3c]
mov byte [esp + 0x11e], al
mov al, byte [edi + 0x40]
mov byte [esp + 0x11f], al
mov eax, ecx
push eax
call fcn.00518150
mov byte [esp + 0x120], al
test ebx, ebx
jle 0x415d39
push 0
call fcn.0052d9f5
mov ecx, dword [edi + 0x48]
add esp, 4
add ecx, eax
jmp 0x415d3b
xor ecx, ecx
push ecx
push dword [esp + 0x124]
lea eax, [esp + 0x123]
mov ecx, dword [esi]
push eax
movzx eax, byte [edi + 0x2c]
mov dl, 0xeb
push eax
movzx eax, byte [edi + 0x28]
push eax
movzx eax, byte [edi + 0x24]
push eax
movzx eax, byte [edi + 0x20]
push eax
movzx eax, byte [edi + 0x1c]
push 0xffffffffffffffff
push eax
movzx eax, byte [edi + 0x18]
push eax
movzx eax, byte [edi + 0x14]
push eax
movzx eax, byte [edi + 0x44]
push eax
movzx eax, byte [edi + 0x10]
push eax
push dword [edi + 0xc]
push 0
push 0
call fcn.00472500
add esp, 0x40
push dword [edi + 0x48]
lea eax, [esi + 0x86]
push dword [edi + 0x44]
push dword [edi + 0x40]
push dword [edi + 0x3c]
push dword [edi + 0x38]
push dword [edi + 0x34]
push dword [edi + 0x30]
push dword [edi + 0x2c]
push dword [edi + 0x28]
push dword [edi + 0x24]
push dword [edi + 0x20]
push dword [edi + 0x1c]
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [edi + 0x10]
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
push eax
lea eax, [esi + 0x7b]
push eax
push str._CashShopItemUse__ProductInfo___s___s_____BaseIndex:__d__MainIndex:__d__CoinValue:__d__ItemIndex:__d__ItemLevel:__d__ItemOption1:__d__ItemOption2:__d__ItemOption3:__d__ItemNewOption:__d__ItemSetOption:__d__ItemHarmonyOption:__d__ItemOptionEx:__d__ItemSocketOption:__d___d___d___d___d__ItemQuantity:__d__ItemDuration:__d_
push 6
push 0x9f30a0
call fcn.004b2600
add esp, 0x60
mov byte [esp + 0x14], 0
lea eax, [esp + 0x10]
push 5
push eax
push dword [esi]
call fcn.005192f0
mov eax, dword [esi]
mov word [esp + 0x28], ax
mov dword [esp + 0x24], 0x331824c1
push 0x24
mov ecx, dword [eax*4 + 0x20a514c]
movq xmm0, qword [ecx + 0x7b]
movq qword [esp + 0x2e], xmm0
xorps xmm0, xmm0
mov ax, word [ecx + 0x83]
mov word [esp + 0x36], ax
mov al, byte [ecx + 0x85]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x38], al
movq qword [esp + 0x39], xmm0
mov word [esp + 0x41], 0
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x18]
mov ecx, 0x7509e0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x47], 0
call fcn.00440610
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret 4