Function at 0x5618b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x14
movzx edi, word [ebx + 6]
movzx esi, word [ebx + 0x3a]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0x300
je 0x561980
cmp eax, 0x301
je 0x561a40
cmp eax, 0x603
je 0x561950
cmp eax, 0x604
je 0x561a60
cmp eax, 0x600
je 0x5619f0
cmp eax, 0x602
je 0x561a88
cmp eax, 0x401
je 0x561cb0
cmp eax, 0x402
je 0x561e28
cmp eax, 0x400
je 0x561ac8
lea esi, [esi]
lea esi, [esi]
mov byte [ebx + 0x38], 0
mov ecx, dword [ebx + 0x40]
test ecx, ecx
je 0x561942
mov ecx, ebx
call method.NTR_GamePad.process_turbo_buttons__
add esp, 0x14
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov edx, dword [0x653344]
cmp dword [ecx + 8], edx
jne 0x561942
movzx ebp, byte [ecx + 0xc]
add ebp, 0x64
mov dword [ebx], ebp
mov dword [esp + 4], 1
mov dword [esp], ebp
mov ecx, ebx
call method.NTR_GamePad.process_joystick_int__bool_
jmp 0x561997
mov ecx, dword [ecx + 0x14]
mov dword [ebx], ecx
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 4], 1
call method.NTR_GamePad.process_keyboard_int__bool_
movzx ebp, word [ebx + 6]
sub esp, 8
cmp di, bp
setne dl
cmp bp, 0x3ff
setne al
and edx, eax
test dl, dl
je case.0x561aba.5
mov edi, esi
and di, 0x3ff
test si, si
js 0x5619e0
not ebp
movzx esi, di
test ebp, esi
je 0x561934
mov byte [ebx + 0x38], 1
jmp 0x561934
test di, bp
je 0x5619cf
jmp 0x561934
mov edx, dword [0x653344]
cmp dword [ecx + 8], edx
jne 0x561942
movzx eax, byte [ecx + 0xc]
lea ebp, [eax + eax + 0xc8]
mov dword [ebx], ebp
movsx ecx, word [ecx + 0x10]
test ecx, ecx
jle 0x561fb0
add ebp, 1
mov dword [ebx], ebp
cmp dword [0x5fc0ac], ecx
jae 0x561fa0
mov dword [esp + 4], 1
jmp 0x56196c
mov eax, dword [ecx + 0x14]
mov ecx, ebx
mov dword [ebx], eax
mov dword [esp], eax
mov dword [esp + 4], 0
call method.NTR_GamePad.process_keyboard_int__bool_
jmp 0x561997
mov ebp, dword [0x653344]
cmp dword [ecx + 8], ebp
jne 0x561942
movzx ebp, byte [ecx + 0xc]
add ebp, 0x64
mov dword [ebx], ebp
mov dword [esp + 4], 0
jmp 0x56196c
mov ebp, dword [0x653344]
cmp dword [ecx + 8], ebp
jne 0x561942
mov dword [ebx], 0x12c
movzx ebp, byte [ecx + 0xc]
shl ebp, 2
lea eax, [ebp + 0x12c]
mov dword [ebx], eax
cmp byte [ecx + 0xd], 0xc
ja case.0x561aba.5
movzx edx, byte [ecx + 0xd]
jmp dword [edx*4 + 0x615a10]
cmp byte [ebx + 0x15], 0
je 0x561942
cmp byte [0x5fc070], 0
movzx edi, byte [0x65319c]
je 0x562030
test dword [0x5fc0a0], 0x1001
je 0x562030
cmp byte [0x653321], 0
jne 0x562030
movzx ebp, byte [ebx + 4]
mov esi, dword [0x65314c]
mov edx, dword [0x653144]
mov eax, dword [ecx + 0x14]
imul esi, ebp
sub edx, esi
mov esi, dword [0x653148]
shr edx, 1
imul esi, ebp
sub eax, edx
mov edx, dword [0x653140]
mov dword [ebx + 0xc], eax
mov ecx, dword [ecx + 0x18]
sub edx, esi
shr edx, 1
sub ecx, edx
xor edx, edx
div ebp
mov dword [esp + 8], ecx
xor edx, edx
mov dword [ebx + 0xc], eax
mov ecx, eax
mov esi, eax
mov eax, dword [esp + 8]
div ebp
mov dword [ebx + 0x10], eax
cmp eax, 0xbf
ja 0x5621ee
mov eax, edi
test al, al
je 0x561942
cmp ecx, 0xff
jbe 0x562267
cmp ecx, 0x100
je 0x561b85
cmp al, 3
je 0x561942
mov edx, edi
cmp dl, 2
jne case.0x561aba.5
sub esi, 0x100
mov dword [ebx + 0xc], esi
jmp case.0x561aba.5
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, ebx
add ebp, 0x12f
call method.NTR_GamePad.process_joystick_int__bool_
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], ebp
jmp 0x56196f
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, ebx
add ebp, 0x12e
call method.NTR_GamePad.process_joystick_int__bool_
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], ebp
jmp 0x56196f
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, ebx
add ebp, 0x12e
call method.NTR_GamePad.process_joystick_int__bool_
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], ebp
jmp 0x56196f
mov dword [esp + 4], 1
lea eax, [ebp + 0x12d]
jmp 0x561ba6
mov dword [esp + 8], eax
add ebp, 0x12f
mov dword [esp + 4], 1
mov dword [esp], ebp
mov ecx, ebx
call method.NTR_GamePad.process_joystick_int__bool_
sub esp, 8
mov dword [esp + 4], 0
mov ebp, dword [esp + 8]
jmp 0x56196c
mov dword [esp + 4], 1
lea eax, [ebp + 0x12d]
jmp 0x561bd1
mov dword [esp + 4], 1
lea eax, [ebp + 0x12d]
jmp 0x561bfc
mov dword [esp + 8], eax
add ebp, 0x12e
mov dword [esp + 4], 1
jmp 0x561c44
mov dword [esp + 4], 0
jmp 0x561bfc
cmp byte [0x5fc070], 0
mov dword [ebx], 0x190
movzx ebp, byte [0x65319c]
je 0x561dc0
test dword [0x5fc0a0], 0x1001
je 0x561dc0
cmp byte [0x653321], 0
jne 0x561dc0
movzx edi, byte [ebx + 4]
mov esi, dword [0x65314c]
mov edx, dword [0x653144]
mov eax, dword [ecx + 0x14]
imul esi, edi
sub edx, esi
mov esi, dword [0x653148]
shr edx, 1
imul esi, edi
sub eax, edx
mov edx, dword [0x653140]
mov dword [ebx + 0xc], eax
sub edx, esi
mov esi, dword [ecx + 0x18]
shr edx, 1
sub esi, edx
xor edx, edx
div edi
mov dword [esp + 8], esi
xor edx, edx
mov dword [esp + 0xc], eax
mov esi, eax
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 8]
div edi
mov dword [ebx + 0x10], eax
cmp eax, 0xbf
ja 0x56215b
mov eax, ebp
test al, al
je 0x561942
cmp esi, 0xff
jbe 0x5621e1
cmp esi, 0x100
je 0x561d70
cmp al, 3
je 0x561942
lea esi, [esi]
nop
mov eax, ebp
cmp al, 2
jne 0x561d7f
sub esi, 0x100
mov dword [ebx + 0xc], esi
movzx ecx, byte [ecx + 0x10]
cmp cl, 2
je 0x5620cc
cmp cl, 3
je 0x5620ae
cmp cl, 1
jne case.0x561aba.5
mov dword [esp + 4], 1
mov ecx, ebx
mov dword [esp], 0x190
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
mov eax, dword [ecx + 0x18]
movzx edi, byte [0x5fc097]
cdq
idiv edi
cmp eax, 0xbf
jg 0x561fc0
mov edx, ebp
test dl, dl
je 0x561942
mov eax, dword [ecx + 0x14]
cdq
idiv edi
cmp eax, 0xff
jg 0x561fe0
mov edx, ebp
cmp dl, 2
je 0x561942
mov dword [ebx + 0xc], eax
mov esi, eax
mov eax, dword [ecx + 0x18]
cdq
idiv edi
mov dword [ebx + 0x10], eax
mov edx, ebp
test dl, dl
jne 0x561d70
sub eax, 0xc0
mov dword [ebx + 0x10], eax
jmp 0x561d7f
cmp byte [0x5fc070], 0
mov dword [ebx], 0x190
movzx ebp, byte [0x65319c]
je 0x561f38
test dword [0x5fc0a0], 0x1001
je 0x561f38
cmp byte [0x653321], 0
jne 0x561f38
movzx edi, byte [ebx + 4]
mov esi, dword [0x65314c]
mov edx, dword [0x653144]
mov eax, dword [ecx + 0x14]
imul esi, edi
sub edx, esi
mov esi, dword [0x653148]
shr edx, 1
imul esi, edi
sub eax, edx
mov edx, dword [0x653140]
mov dword [ebx + 0xc], eax
sub edx, esi
mov esi, dword [ecx + 0x18]
shr edx, 1
sub esi, edx
xor edx, edx
div edi
mov dword [esp + 8], esi
xor edx, edx
mov dword [esp + 0xc], eax
mov esi, eax
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 8]
div edi
mov dword [ebx + 0x10], eax
cmp eax, 0xbf
ja 0x56218f
mov eax, ebp
test al, al
je 0x561942
cmp esi, 0xff
jbe 0x56223e
cmp esi, 0x100
je 0x561ee8
cmp al, 3
je 0x561942
lea esi, [esi]
nop
mov eax, ebp
cmp al, 2
jne 0x561ef7
sub esi, 0x100
mov dword [ebx + 0xc], esi
movzx ecx, byte [ecx + 0x10]
cmp cl, 2
je 0x562122
cmp cl, 3
je 0x562104
cmp cl, 1
jne case.0x561aba.5
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], 0x190
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
mov eax, dword [ecx + 0x18]
movzx edi, byte [0x5fc097]
cdq
idiv edi
cmp eax, 0xbf
jg 0x562000
mov edx, ebp
test dl, dl
je 0x562015
mov eax, dword [ecx + 0x14]
cdq
idiv edi
cmp eax, 0xff
jg 0x562093
mov edx, ebp
cmp dl, 2
je 0x562015
mov dword [ebx + 0xc], eax
mov esi, eax
mov eax, dword [ecx + 0x18]
cdq
idiv edi
mov dword [ebx + 0x10], eax
mov edx, ebp
test dl, dl
jne 0x561ee8
sub eax, 0xc0
mov dword [ebx + 0x10], eax
jmp 0x561ef7
mov dword [esp + 4], 0
jmp 0x56196c
neg ecx
jmp 0x561a1d
cmp eax, 0xc0
je 0x561de2
mov eax, ebp
cmp al, 1
jne 0x561de2
jmp 0x561942
cmp eax, 0x100
je 0x561dfe
mov edx, ebp
cmp dl, 3
jne 0x561dfe
jmp 0x561942
cmp eax, 0xc0
je 0x561f5a
mov eax, ebp
cmp al, 1
jne 0x561f5a
xor ecx, ecx
mov ebp, 0xfff
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], ebp
jmp 0x561942
mov eax, dword [ecx + 0x18]
movzx ebp, byte [0x5fc097]
cdq
idiv ebp
cmp eax, 0xbf
jg 0x5620ea
mov edx, edi
test dl, dl
je 0x561942
mov eax, dword [ecx + 0x14]
cdq
idiv ebp
cmp eax, 0xff
jg 0x562140
mov edx, edi
cmp dl, 2
je 0x561942
mov dword [ebx + 0xc], eax
mov esi, eax
mov eax, dword [ecx + 0x18]
cdq
idiv ebp
mov dword [ebx + 0x10], eax
mov edx, edi
test dl, dl
jne 0x561b85
sub eax, 0xc0
mov dword [ebx + 0x10], eax
jmp case.0x561aba.5
cmp eax, 0x100
je 0x561f76
mov edx, ebp
cmp dl, 3
jne 0x561f76
jmp 0x562015
mov dword [esp + 4], 1
mov ecx, ebx
mov dword [esp], 0x192
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
mov dword [esp + 4], 1
mov ecx, ebx
mov dword [esp], 0x191
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
cmp eax, 0xc0
je 0x562052
mov eax, edi
cmp al, 1
jne 0x562052
jmp 0x561942
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], 0x192
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], 0x191
call method.NTR_GamePad.process_mouse_int__bool_
sub esp, 8
jmp case.0x561aba.5
cmp eax, 0x100
je 0x56206e
mov edx, edi
cmp dl, 3
jne 0x56206e
jmp 0x561942
cmp eax, 0xc0
je 0x56216d
mov edx, ebp
cmp dl, 1
je 0x561942
cmp dword [esp + 0xc], 0xff
ja 0x5621c3
mov edx, ebp
cmp dl, 2
je 0x561942
test dl, dl
je 0x561e16
jmp 0x561d7f
cmp eax, 0xc0
je 0x5621a1
mov edx, ebp
cmp dl, 1
je 0x561942
cmp dword [esp + 0xc], 0xff
ja 0x562220
mov edx, ebp
cmp dl, 2
je 0x561942
test dl, dl
je 0x561f8e
jmp 0x561ef7
cmp dword [esp + 0xc], 0x100
je 0x561e0c
mov edx, ebp
cmp dl, 3
jne 0x561e0c
jmp 0x561942
cmp al, 2
jne 0x561d7f
jmp 0x561942
cmp eax, 0xc0
je 0x562200
mov edx, edi
sub dl, 1
je 0x561942
cmp ecx, 0xff
ja 0x56224b
mov ecx, edi
cmp cl, 2
je 0x561942
test cl, cl
je 0x562086
jmp case.0x561aba.5
cmp dword [esp + 0xc], 0x100
je 0x561f84
mov edx, ebp
cmp dl, 3
jne 0x561f84
jmp 0x561942
cmp al, 2
jne 0x561ef7
jmp 0x561942
cmp ecx, 0x100
je 0x56207c
mov ecx, edi
cmp cl, 3
jne 0x56207c
jmp 0x561942
cmp al, 2
jne case.0x561aba.5
jmp 0x561942