Function at 0x4151b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [0x4667c4]
mov ebx, 0x8e87681f
mov edi, 0xcd41767d
mov ebp, 0xc9e89e53
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [0x4675d0]
mov esi, dword [0x4675d4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
setne al
sete byte [esp + 0x7e]
cmp esi, 9
setg dl
cmp esi, 0xa
mov esi, 0x11a470df
setl byte [esp + 0x7f]
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or dl, ah
mov eax, 0x404199c4
mov edx, 0x66297562
cmove edx, eax
cmove ebx, eax
mov eax, 0x9454d77a
cmove edi, eax
cmove ebp, eax
mov eax, 0x6a341f63
cmove esi, eax
mov dword [esp + 0x24], esi
mov esi, 0xd4d7e465
cmove esi, eax
mov eax, 0xfaa3e559
mov dword [esp + 0x54], esi
mov esi, 0x42b23718
cmove esi, eax
mov dword [esp + 0x78], esi
mov esi, 0xdbc3ab76
cmove esi, eax
mov eax, 0x36b7b302
mov dword [esp + 0x30], esi
mov esi, 0xff3eff33
cmove esi, eax
mov dword [esp + 0x68], esi
mov esi, 0x7c685e35
cmove esi, eax
mov eax, 0xa63ee322
mov dword [esp + 0x64], esi
mov esi, 0xc8f5e74c
cmove esi, eax
mov dword [esp + 0x50], esi
mov esi, 0x32acaf31
cmove esi, eax
mov eax, 0x78fb0a9
mov dword [esp + 0x74], esi
mov esi, 0x1b3066aa
cmove esi, eax
mov dword [esp + 0x4c], esi
mov esi, 0x64df1201
cmove esi, eax
mov eax, 0x5d00b553
mov dword [esp + 0x48], esi
mov esi, 0x7b127776
cmove esi, eax
mov dword [esp + 0x60], esi
mov esi, 0x55deda9c
cmove esi, eax
mov eax, 0xd27e8813
mov dword [esp + 0x20], esi
mov esi, 0x9941226f
cmove esi, eax
mov dword [esp + 0x1c], esi
mov esi, 0xd998c224
cmove esi, eax
mov eax, 0x86b17b3b
mov dword [esp + 0x70], esi
mov esi, 0x49e65c76
cmove esi, eax
mov dword [esp + 0x6c], esi
mov esi, 0x36bfc025
cmove esi, eax
mov eax, 0x46306524
mov dword [esp + 0x44], esi
mov esi, 0x29593b33
cmove esi, eax
mov dword [esp + 0x2c], esi
mov esi, 0x639abe04
cmove esi, eax
mov eax, 0x8b888fc0
mov dword [esp + 0x40], esi
mov esi, 0xb067f5f8
cmove esi, eax
mov dword [esp + 0x18], esi
mov esi, 0xea80340e
cmove esi, eax
mov eax, 0xc9da6ff2
mov dword [esp + 0x3c], esi
mov esi, 0xd680827d
cmove esi, eax
mov dword [esp + 0x14], esi
mov esi, 0xf394d5f4
cmove esi, eax
mov eax, 0x52dce8ab
mov dword [esp + 0x5c], esi
mov esi, 0xac86cbda
cmove esi, eax
mov dword [esp + 0x10], esi
mov esi, 0x9e31ce5b
cmove esi, eax
mov eax, 0x57ef0067
mov dword [esp + 0x28], esi
mov esi, 0xf475e27f
cmove esi, eax
mov dword [esp + 0xc], esi
mov esi, 0x69bffff6
cmove esi, eax
mov eax, 0xdef65cbc
mov dword [esp + 8], esi
mov esi, 0xcd7b834f
cmove esi, eax
mov dword [esp + 0x58], esi
mov esi, 0x3a8cada8
cmove esi, eax
mov eax, 0x59ec6e68
mov dword [esp + 0x38], esi
mov esi, 0x5e9260df
cmovne esi, eax
mov eax, 0xbcafbf43
mov dword [esp + 0x34], esi
nop dword [eax + eax]
mov esi, eax
cmp eax, 0x78fb0a8
jle 0x415440
cmp esi, 0x52dce8aa
jle 0x4154a0
cmp esi, 0x64df1200
jg 0x41558a
cmp esi, 0x59ec6e67
jle 0x41569b
cmp esi, 0x5e9260de
jg 0x415851
mov eax, dword [esp + 0x38]
cmp esi, 0x59ec6e68
je 0x4153e0
cmp esi, 0x5d00b553
mov eax, esi
jne 0x4153e0
mov eax, 0x55deda9c
jmp 0x4153e0
cmp esi, 0xc9e89e52
jle 0x415500
cmp esi, 0xdbc3ab75
jg 0x4155cf
cmp esi, 0xd27e8812
jle 0x4156d3
cmp esi, 0xd680827c
jg 0x415874
cmp esi, 0xd27e8813
mov eax, ebx
je 0x4153e0
cmp esi, 0xd4d7e465
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x24]
jmp 0x4153e0
cmp esi, 0x36bfc024
jg 0x415625
cmp esi, 0x29593b32
jle 0x415704
cmp esi, 0x32acaf30
jg 0x41589b
mov eax, dword [esp + 0x44]
cmp esi, 0x29593b33
je 0x4153e0
cmp esi, 0x2eeb2491
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, 0x74113b4b
jmp 0x4153e0
cmp esi, 0xa63ee321
jle 0x415662
cmp esi, 0xb2471140
jle 0x415733
cmp esi, 0xc8f5e74b
jg 0x4158c3
mov eax, dword [esp + 0x34]
cmp esi, 0xb2471141
je 0x4153e0
cmp esi, 0xbcafbf43
mov eax, esi
jne 0x4153e0
mov dword [esp + 4], ebp
mov esi, edi
mov edi, ebx
mov ebp, edx
mov edx, 0xb2471141
mov bh, byte [esp + 0x7e]
movzx eax, byte [esp + 0x7f]
mov bl, al
xor bl, bh
test al, al
mov eax, 0x5e9260df
jne 0x41556c
mov edx, 0x5e9260df
test bh, bh
cmovne eax, edx
test bl, bl
mov edx, 0xb2471141
mov ebx, edi
mov edi, esi
cmovne eax, edx
mov edx, ebp
mov ebp, dword [esp + 4]
jmp 0x4153e0
cmp esi, 0x6a341f62
jle 0x415766
cmp esi, 0x7b127775
jg 0x4158eb
cmp esi, 0x6a341f63
je 0x41593a
cmp esi, 0x74113b4b
mov eax, esi
jne 0x4153e0
mov eax, dword [esp]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
jmp 0x4153e0
cmp esi, 0xf394d5f3
jle 0x4157b3
cmp esi, 0xfaa3e558
jg 0x415912
mov eax, dword [esp + 0x3c]
cmp esi, 0xf394d5f4
je 0x4153e0
cmp esi, 0xf475e27f
mov eax, esi
jne 0x4153e0
cmp byte [esp + 0x87], 0
mov eax, 0x2eeb2491
jne 0x415619
mov eax, 0x74113b4b
mov dword [esp], str.Unknown_exception
jmp 0x4153e0
cmp esi, 0x42b23717
jle 0x4157e6
cmp esi, 0x49e65c76
je 0x4159a8
mov eax, dword [esp + 0x68]
cmp esi, 0x42b23718
je 0x4153e0
cmp esi, 0x46306524
mov eax, esi
jne 0x4153e0
mov eax, ebp
jmp 0x4153e0
cmp esi, 0x9454d779
jg 0x41581e
cmp esi, 0x86b17b3b
je 0x41594e
cmp esi, 0x8b888fc0
je 0x415958
cmp esi, 0x8e87681f
mov eax, esi
jne 0x4153e0
mov eax, edx
jmp 0x4153e0
mov eax, dword [esp + 0x70]
cmp esi, 0x52dce8ab
je 0x4153e0
mov eax, dword [esp + 0x60]
cmp esi, 0x55deda9c
je 0x4153e0
cmp esi, 0x57ef0067
mov eax, esi
jne 0x4153e0
mov eax, 0x69bffff6
jmp 0x4153e0
cmp esi, 0xc9e89e53
mov eax, edi
je 0x4153e0
cmp esi, 0xcd41767d
je 0x415962
cmp esi, 0xcd7b834f
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 8]
jmp 0x4153e0
cmp esi, 0x78fb0a9
je 0x41596c
cmp esi, 0x11a470df
je 0x415976
cmp esi, 0x1b3066aa
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x1c]
jmp 0x4153e0
cmp esi, 0xa63ee322
je 0x415980
mov eax, dword [esp + 0x5c]
cmp esi, 0xac86cbda
je 0x4153e0
cmp esi, 0xb067f5f8
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x14]
jmp 0x4153e0
mov eax, dword [esp + 0x74]
cmp esi, 0x64df1201
je 0x4153e0
cmp esi, 0x66297562
je 0x41598a
cmp esi, 0x69bffff6
mov eax, esi
jne 0x4153e0
mov eax, dword [ecx + 4]
mov dword [esp + 0x80], eax
cmp dword [esp + 0x80], 0
mov eax, dword [esp + 0xc]
setne byte [esp + 0x87]
jmp 0x4153e0
mov eax, dword [esp + 0x78]
cmp esi, 0xdbc3ab76
je 0x4153e0
cmp esi, 0xdef65cbc
je 0x415994
cmp esi, 0xea80340e
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x18]
jmp 0x4153e0
mov eax, dword [esp + 0x6c]
cmp esi, 0x36bfc025
je 0x4153e0
mov eax, dword [esp + 0x58]
cmp esi, 0x3a8cada8
je 0x4153e0
cmp esi, 0x404199c4
mov eax, esi
jne 0x4153e0
mov eax, 0x8e87681f
jmp 0x4153e0
cmp esi, 0x9454d77a
je 0x41599e
mov eax, dword [esp + 0x64]
cmp esi, 0x9941226f
je 0x4153e0
cmp esi, 0x9e31ce5b
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x10]
jmp 0x4153e0
cmp esi, 0x5e9260df
je 0x415944
cmp esi, 0x639abe04
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x2c]
jmp 0x4153e0
mov eax, dword [esp + 0x40]
cmp esi, 0xd680827d
je 0x4153e0
cmp esi, 0xd998c224
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x20]
jmp 0x4153e0
mov eax, dword [esp + 0x50]
cmp esi, 0x32acaf31
je 0x4153e0
cmp esi, 0x36b7b302
mov eax, esi
jne 0x4153e0
mov eax, 0x7c685e35
jmp 0x4153e0
mov eax, dword [esp + 0x4c]
cmp esi, 0xc8f5e74c
je 0x4153e0
cmp esi, 0xc9da6ff2
mov eax, esi
jne 0x4153e0
mov eax, 0xf394d5f4
jmp 0x4153e0
mov eax, dword [esp + 0x48]
cmp esi, 0x7b127776
je 0x4153e0
cmp esi, 0x7c685e35
mov eax, esi
jne 0x4153e0
mov eax, dword [esp + 0x30]
jmp 0x4153e0
mov eax, dword [esp + 0x54]
cmp esi, 0xfaa3e559
je 0x4153e0
cmp esi, 0xff3eff33
mov eax, esi
jne 0x4153e0
mov eax, 0x9e31ce5b
jmp 0x4153e0
mov eax, 0xd4d7e465
jmp 0x4153e0
mov eax, 0xb2471141
jmp 0x4153e0
mov eax, 0x36bfc025
jmp 0x4153e0
mov eax, 0xea80340e
jmp 0x4153e0
mov eax, 0x639abe04
jmp 0x4153e0
mov eax, 0x64df1201
jmp 0x4153e0
mov eax, 0xdbc3ab76
jmp 0x4153e0
mov eax, 0x32acaf31
jmp 0x4153e0
mov eax, 0xd998c224
jmp 0x4153e0
mov eax, 0x3a8cada8
jmp 0x4153e0
mov eax, 0xc9e89e53
jmp 0x4153e0
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
xor ecx, esp
call fcn.0043f0c1
mov eax, esi
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret