Function at 0x41ddc0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x170
mov eax, dword [esp + 0x178]
push ebx
push ebp
mov ebx, ecx
push esi
cmp eax, 6
push edi
mov dword [esp + 0x24], ebx
jne 0x41e3c2
cmp dword [ebx + 0x43bc], 1
jne 0x41e3c2
lea edi, [ebx + 0x437c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41de1a
push eax
push eax
push 0xa0
mov ecx, ebx
call fcn.0043fc10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
mov eax, dword [ebx + 0x4394]
test eax, eax
je 0x41de41
push 0
push 0
push 0x182
mov ecx, ebx
call fcn.0043fc10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
mov eax, dword [esp + 0x184]
mov esi, dword [eax + 2]
mov cl, byte [eax + 1]
movsx ebp, byte [eax]
test esi, esi
mov byte [esp + 0x34], cl
jbe 0x41e3c2
cmp ebp, 1
je 0x41de6b
cmp ebp, 3
jne 0x41e3c2
mov edx, dword [esp + 0x34]
mov ecx, ebx
push edx
push ebp
call fcn.00431880
test eax, eax
je 0x41e3c2
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
mov edi, dword [eax + 8]
mov dword [esp + 0x18], edi
mov eax, dword [eax + 0xc]
test cl, cl
mov dword [esp + 0x1c], eax
je 0x41e3c2
test edx, edx
je 0x41e3c2
cmp cl, 5
jne 0x41dedb
cmp word [esp + 0x12], 0x5c
jne 0x41dedb
mov edx, dword [esp + 0x34]
push 0
lea ecx, [esp + 0x18]
push 1
push ecx
push edx
push ebp
mov ecx, ebx
call fcn.004322a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
cmp edx, esi
jbe 0x41dee3
mov dword [esp + 0x14], esi
mov ecx, 0x50
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov ecx, ebx
call fcn.0040b700
mov eax, dword [eax + 8]
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.0040b700
mov ecx, dword [ebx + 0x4504]
mov esi, dword [eax + 0x40]
call dword [sym.imp.rm3944.dll_NewMapFix5]
cmp eax, 0x5d
jl 0x41df1e
cmp eax, 0x6c
jle 0x41df2c
cmp eax, 0x89
jl 0x41df33
cmp eax, 0xb0
jg 0x41df33
mov edi, 1
jmp 0x41df35
xor edi, edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x2c], edi
test ecx, ecx
je 0x41e3c2
test esi, esi
je 0x41e3c2
lea edx, [esp + 0x40]
add ebx, 0x37d8
push edi
push edx
push ebx
mov dword [esp + 0x34], ebx
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CUserDB::GetBankItem_char_const___struct_IIS___int_]
test eax, eax
je 0x41e3c2
lea eax, [esp + 0x40]
push edi
push eax
push ebx
mov ecx, esi
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CSpecialItem::GetUserBankItem_char___struct_IIS___int_]
test eax, eax
je 0x41e3c2
mov ecx, dword [esp + 0x19]
mov si, word [esp + 0x12]
xor ebx, ebx
lea eax, [esp + 0x42]
mov dl, byte [eax - 2]
cmp dl, byte [esp + 0x10]
jne 0x41dfc5
cmp word [eax], si
jne 0x41dfc5
mov dl, byte [eax + 6]
cmp dl, byte [esp + 0x18]
jne 0x41dfc5
cmp byte [eax + 7], cl
jne 0x41dfc5
cmp byte [eax + 8], ch
jne 0x41dfc5
mov dl, byte [esp + 0x1b]
cmp byte [eax + 9], dl
jne 0x41dfc5
mov dl, byte [esp + 0x1d]
cmp byte [eax + 0xb], dl
je 0x41dfd0
inc ebx
add eax, 0x10
cmp ebx, 0x14
jb 0x41df92
jmp 0x41dfd5
cmp ebx, 0xffffffff
jne 0x41e001
xor eax, eax
lea ecx, [esp + 0x40]
cmp byte [ecx], 0
je 0x41dff6
inc eax
add ecx, 0x10
cmp eax, 0x14
jb 0x41dfdb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
cmp eax, 0xffffffff
mov ebx, eax
je 0x41e3c2
mov edx, dword [esp + 0x10]
cmp dl, 6
je 0x41e13c
mov eax, ebx
shl eax, 4
mov cl, byte [esp + eax + 0x40]
lea edi, [esp + eax + 0x40]
cmp cl, dl
jne 0x41e0c3
cmp word [esp + eax + 0x42], si
jne 0x41e0c3
mov esi, dword [esp + eax + 0x44]
lea ecx, [esp + eax + 0x44]
test esi, esi
jbe 0x41e0c3
cmp esi, 0xee6b2800
jbe 0x41e04c
mov dword [ecx], 1
mov esi, dword [ecx]
mov eax, dword [esp + 0x14]
mov edx, 0xee6b2800
sub edx, esi
cmp eax, edx
jbe 0x41e063
mov eax, edx
mov dword [esp + 0x14], eax
test eax, eax
je 0x41e3c2
add esi, eax
push 0
mov dword [ecx], esi
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x18]
push 1
push eax
push ecx
mov ecx, dword [esp + 0x34]
push ebp
call fcn.004322a0
cmp eax, 1
jne 0x41e1eb
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x44]
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CUserDB::SetBankItem_char_const___struct_IIS___int_]
cmp eax, 1
jne 0x41e1eb
mov ecx, dword [esp + 0x24]
push eax
push edi
push ebx
call fcn.0041ed20
jmp 0x41e1eb
mov ecx, dword [esp + eax + 0x44]
test ecx, ecx
jne 0x41e1eb
mov ecx, dword [esp + 0x14]
mov eax, edi
mov esi, dword [esp + 0x24]
push 0
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
push 1
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], edx
lea edx, [esp + 0x1c]
push edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x40]
push eax
push ebp
mov ecx, esi
call fcn.004322a0
cmp eax, 1
jne 0x41e1eb
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CUserDB::SetBankItem_char_const___struct_IIS___int_]
cmp eax, 1
jne 0x41e1eb
push eax
push edi
push ebx
mov ecx, esi
call fcn.0041ed20
jmp 0x41e1eb
mov ecx, dword [esp + 0x24]
call fcn.0040b700
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x41e1eb
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x3c], bl
test eax, eax
jne 0x41e165
mov esi, 0x32
push ebx
push esi
jmp 0x41e16c
mov esi, 0x33
push ebx
push esi
movsx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0x30]
push eax
push edx
mov edx, dword [esp + 0x2d]
push ebp
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x38]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x3b]
push eax
mov eax, dword [esp + 0x3e]
and edx, 0xff
and eax, 0xff
push edx
mov edx, dword [esp + 0x41]
push eax
and edx, 0xff
movsx eax, byte [esp + 0x44]
push edx
push eax
movsx edx, word [esp + 0x46]
movsx eax, byte [esp + 0x44]
push edx
push eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CSpecialItem::MoveUserWindowItem_int__int__int__int__int__int__int__int__int__char_const___int__int__char_const___int__int_]
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
push 0
push ecx
push ebp
mov ecx, edi
call fcn.00431fe0
mov edx, dword [esp + 0x3c]
mov ecx, edi
push edx
push esi
call fcn.00431f60
mov esi, dword [esp + 0x24]
cmp dword [esi + 0x449c], 1
je 0x41e3c2
mov ecx, esi
call fcn.0040b670
test eax, eax
jne 0x41e3c2
mov ecx, esi
call fcn.0040b6b0
test eax, eax
jne 0x41e3c2
mov al, byte [esp + 0x10]
cmp al, 1
jne 0x41e2c4
mov ax, word [esp + 0x12]
cmp ax, 0xc8
je 0x41e381
cmp ax, 0xc9
je 0x41e381
cmp ax, 0xd2
je 0x41e381
cmp ax, 0xd3
je 0x41e381
cmp ax, 0xdc
je 0x41e381
cmp ax, 0xdd
je 0x41e381
cmp ax, 0xe6
je 0x41e381
cmp ax, 0xe7
je 0x41e381
cmp ax, 0xf0
je 0x41e381
cmp ax, 0xf1
je 0x41e381
cmp ax, 0x45
je 0x41e381
cmp ax, 0x46
je 0x41e381
cmp ax, 0x91
je 0x41e381
cmp ax, 0x92
je 0x41e381
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
cmp al, 2
jne 0x41e2ee
mov ax, word [esp + 0x12]
cmp ax, 0x66
jl 0x41e3c2
cmp ax, 0x81
jle 0x41e381
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
cmp al, 3
jne 0x41e338
mov ax, word [esp + 0x12]
cmp ax, 0x28
je 0x41e381
cmp ax, 0x29
je 0x41e381
cmp ax, 0x2a
je 0x41e381
cmp ax, 0x2b
je 0x41e381
cmp ax, 0x32
je 0x41e381
cmp ax, 0x33
je 0x41e381
cmp ax, 0x34
je 0x41e381
cmp ax, 0x35
je 0x41e381
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8
cmp al, 5
jne 0x41e3c2
mov ax, word [esp + 0x12]
cmp ax, 0x6f
je 0x41e381
cmp ax, 0x79
je 0x41e381
cmp ax, 0x71
je 0x41e381
cmp ax, 0x7b
je 0x41e381
cmp ax, 0x75
je 0x41e381
cmp ax, 0x7f
je 0x41e381
cmp ax, 0x76
je 0x41e381
cmp ax, 0x80
je 0x41e381
cmp ax, 0x95
je 0x41e381
cmp ax, 0x97
jne 0x41e3c2
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x4504]
mov esi, dword [eax + 0x32c4]
call fcn.0040b700
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x34]
movsx edx, word [esp + 0x12]
push ecx
push edx
movsx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x30]
push ecx
push str.Bank
push edx
push esi
push str.AddBankItem
mov ecx, eax
call dword [sym.imp.rmDB.dll_public:_int___thiscall_CItemLog::InsertLog_char_const___int__char___char___int__int__unsigned_long_int_]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x170
ret 8