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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x54
mov ebp, edx
mov ebx, eax
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov dword [esp + 0x30], edx
mov eax, 0x51eb851f
imul edi
sar edx, 5
sar edi, 0x1f
sub edx, edi
mov dword [esp + 0x44], edx
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0x7c]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x3c], edx
mov esi, dword [esp + 0x80]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x84]
mov eax, 0x51eb851f
imul esi
sar edx, 5
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x34], edx
test ebx, ebx
je 0x4346d5
mov edi, dword [ebx + 0x44]
test ebp, ebp
je 0x4346ce
mov edx, dword [ebp + 0x44]
movsx esi, byte [esp + 0x88]
test esi, esi
je 0x434269
mov ebx, ebp
mov ebp, dword [ebx + 0x44]
mov eax, ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edi
call fcn.00410550
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
movsx esi, byte [esp + 0x88]
test esi, esi
je 0x4342ba
mov esi, dword [esp + 0x40]
cmp esi, dword [ebp + 0xf0]
jne 0x4342b6
mov esi, dword [esp + 0x34]
cmp esi, dword [ebp + 0xf4]
jne 0x4342b2
mov esi, 1
jmp 0x4342bc
xor esi, esi
jmp 0x4342bc
xor esi, esi
jmp 0x4342bc
xor esi, esi
cmp byte [ebp + 0x102], 1
je 0x434694
test esi, esi
je 0x4345c4
mov edx, dword [edx + 0xd0]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
test edx, edx
je 0x4346dc
movzx edx, byte [edi + 0xa8]
mov byte [ebp + 0xa8], dl
movsx edx, byte [esp + 0x8c]
cmp edx, 0xa
je 0x434566
movsx edx, byte [esp + 0x8c]
cmp edx, 0x15
je 0x43449f
movsx edx, byte [esp + 0x8c]
cmp edx, 0x1f
je 0x43444b
movsx edx, byte [esp + 0x8c]
cmp edx, 0x29
je 0x4343f5
movsx edx, byte [esp + 0x8c]
cmp edx, 0x33
je 0x4343a1
test esi, esi
je 0x434381
cmp esi, 2
je 0x434358
xor eax, eax
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, dword [esp + 0x40]
mov dword [ebp + 0x88], edx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0x8c], ecx
mov dword [ebp + 0xf0], edx
mov dword [ebp + 0xf4], ecx
mov eax, ebx
call fcn.00410550
jmp 0x43434e
mov esi, dword [esp + 0x34]
mov dword [esp + 0xc], esi
mov eax, ebp
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
call fcn.00434124
mov eax, ebx
call fcn.00410550
jmp 0x43434e
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
mov ecx, dword [esp + 0x30]
call fcn.004346f8
jmp 0x434345
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
call fcn.00434bfc
jmp 0x434345
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
mov ecx, dword [esp + 0x30]
call fcn.0043503c
jmp 0x434345
movzx edx, byte [0x5b85d4]
test edx, edx
je 0x434515
movzx edx, byte [0x59b04c]
test edx, edx
je 0x434515
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xd0]
call fcn.00461af8
jmp 0x434345
xor edx, edx
mov eax, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push eax
push dword [edi + 0xf4]
push dword [edi + 0xf0]
push edx
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
push ecx
push dword [edi + 0xd0]
mov ecx, dword [esp + 0x74]
push ecx
call fcn.00460f10
add esp, 0x30
jmp 0x434345
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov edx, dword [edi + 0xf0]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0xf4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x48]
mov edx, dword [edi + 0xc0]
mov ecx, dword [esp + 0x30]
call fcn.00460b64
jmp 0x434345
mov eax, dword [esp + 0x40]
lea edx, [eax + eax]
add edx, edx
cmp eax, 0x2000
jg 0x43464b
mov eax, dword [esp + 0x34]
imul eax, edx
lea edx, [eax + edx + 4]
push edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
call fcn.0046ed7c
mov ecx, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x48], eax
mov edx, eax
test edx, edx
jne 0x4342db
mov edx, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x879404
push 0x8782b0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edi
call fcn.0046ccf4
mov ecx, dword [esp + 0x60]
push 0
push 1
push 0x1965e
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edi
call fcn.0046be00
mov ecx, dword [esp + 0x6c]
add esp, 0x20
jmp 0x4342db
mov edx, dword [esp + 0x34]
push edx
mov edx, eax
push edx
push 0x8793dc
push 0x8782b0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edi
call fcn.00409070
mov ecx, dword [esp + 0x5c]
push 1
push 0x186aa
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edi
call fcn.0046be5c
mov ecx, dword [esp + 0x64]
add esp, 0x18
xor edx, edx
mov dword [esp + 0x48], edx
jmp 0x4342db
movsx eax, byte [esp + 0x88]
test eax, eax
je 0x4342c9
mov eax, dword [esp + 0x40]
cmp eax, dword [ebp + 0xf0]
jge 0x4342c9
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0xf4]
jge 0x4342c9
mov esi, 2
jmp 0x4342c9
xor edx, edx
jmp 0x43425b
xor edi, edi
jmp 0x434250
mov eax, 0xffffffff
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret