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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x120
jmp 0x413c53
mov eax, dword [ecx]
mov esi, ecx
lea ecx, [esp + 0xac]
mov edi, edx
mov dword [ecx], eax
xor eax, eax
cmp byte [edx + 0x40], 2
jmp 0x413c71
setne al
lea edx, [eax + eax + 0x44]
call fcn.0040c076
test ax, ax
jne 0x414666
jmp 0x413c8b
mov eax, dword [esi]
lea ecx, [esp + 0xb0]
mov dword [ecx], eax
jmp 0x413c98
push 9
pop edx
call fcn.0040c076
test ax, ax
jne 0x414666
mov dword [esp + 0x1c], esi
jmp 0x413caf
mov ebx, dword [edi + 8]
mov edx, dword [edi + 0xc]
jmp 0x413cb8
push 0x3f
pop esi
cmp ebx, 0x64
mov eax, edx
jmp 0x413cc4
sbb eax, 0
jb 0x413cf8
jmp 0x413cce
push 0
push 0x64
push edx
push ebx
call fcn.0040361e
add esp, 0x10
imul ecx, eax, 0xffffff9c
add ecx, ebx
mov ebx, eax
movzx ecx, word [ecx + ecx + 0x405ac8]
mov word [esp + esi + 0xd0], cx
add esi, 0xfffffffe
jmp 0x413cbb
jmp 0x413cff
xor eax, eax
push 9
pop ecx
cmp ecx, ebx
sbb eax, edx
jb 0x413d20
add bl, 0x30
jmp 0x413d16
mov byte [esp + esi + 0xd1], bl
inc esi
jmp 0x413d35
jmp 0x413d25
movzx eax, word [ebx + ebx + 0x405ac8]
mov word [esp + esi + 0xd0], ax
jmp 0x413d3c
lea ecx, [esp + esi + 0xd0]
push 0x41
pop edx
sub edx, esi
jmp 0x413d4f
mov esi, dword [esp + 0x1c]
push esi
push 0x405584
call fcn.0041ebbc
pop ecx
pop edx
test ax, ax
jmp 0x413d6d
jne 0x414666
jmp 0x413d78
mov eax, dword [esi]
lea ecx, [esp + 0xb4]
mov dword [ecx], eax
jmp 0x413d87
push 9
pop edx
call fcn.0040c076
test ax, ax
jne 0x414666
jmp 0x413da0
mov eax, dword [edi + 0x2c]
mov esi, dword [edi + 0x24]
mov ecx, dword [edi + 0x20]
mov ebx, dword [edi + 0x28]
mov edi, eax
mov eax, esi
mov dword [esp + 0x34], ecx
or ecx, ebx
mov dword [esp + 0x30], ebx
or eax, edi
mov dword [esp + 0x20], edi
or ecx, eax
mov eax, esi
sete byte [esp]
bsr ecx, ebx
bsr edx, edi
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
test edi, edi
cmovne ecx, edx
bsr edx, dword [esp + 0x34]
bsr esi, esi
xor esi, 0x1f
xor edx, 0x1f
add edx, 0x20
test eax, eax
cmovne edx, esi
add edx, 0x40
or ebx, edi
mov ebx, eax
cmovne edx, ecx
push 0x62
pop eax
sub eax, edx
mov edx, 0
mov edi, 0
mov esi, 0
sbb edx, edx
sbb edi, edi
sbb esi, esi
push 0x7f
pop ecx
cmp ecx, eax
mov ecx, 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, 0
mov dword [esp + 0x10], edi
sbb ecx, edx
mov ecx, 0
sbb ecx, edi
mov ecx, 0
sbb ecx, esi
setb cl
or cl, byte [esp]
mov ecx, ebx
mov ebx, dword [esp + 0x34]
mov edx, ebx
cmovne ecx, eax
cmovne edx, eax
jne 0x413f4a
mov eax, dword [esp + 8]
mov edi, ecx
mov ecx, dword [esp + 4]
xor eax, 0x7f
or ecx, esi
or eax, dword [esp + 0x10]
or ecx, eax
mov ecx, edi
mov edi, dword [esp + 0x20]
je 0x414131
mov dword [esp + 0x9c], ebx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xa8], edi
and dword [esp + 0x98], 0
and dword [esp + 0x94], 0
and dword [esp + 0x90], 0
and dword [esp + 0x8c], 0
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 8]
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0xa4]
mov edi, dword [esp + eax + 0xa8]
shld edi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0x50], edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + eax + 0xa0]
mov edi, dword [esp + eax + 0x9c]
mov dword [esp + 0x28], 0
mov eax, edx
shr eax, 1
shr eax, cl
mov cl, ch
shld edx, edi, cl
shl edi, cl
xor ecx, ecx
add dword [esp + 8], 1
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x10]
adc edx, ecx
adc edi, ecx
adc esi, ecx
jae 0x413f53
mov ebx, dword [esp + 0x24]
mov dword [esp], 0
jmp 0x414114
mov edi, dword [esp + 0x20]
jmp 0x414131
mov ecx, edx
mov edx, ebx
or dword [esp + 0x38], eax
mov ebx, edi
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
and dword [esp + 0x88], 0
and dword [esp + 0x84], 0
and dword [esp + 0x80], 0
and dword [esp + 0x7c], 0
mov dword [esp + 0x78], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 8]
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
movzx eax, al
mov cl, ch
mov edx, dword [esp + eax + 0x74]
mov ebx, dword [esp + eax + 0x78]
mov esi, edx
add edx, edx
shrd esi, ebx, cl
mov dword [esp + 0x44], esi
mov esi, dword [esp + eax + 0x70]
mov dword [esp + 0x28], 0
mov edi, esi
shr edi, cl
not cl
shl edx, cl
mov cl, ch
or edx, edi
shr ebx, cl
mov dword [esp + 0x48], edx
mov edx, ebx
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + eax + 0x6c]
mov dword [esp], 0
shrd eax, esi, cl
mov esi, 0x3b9aca00
mov ecx, 0
add esi, 0xffffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], esi
adc ecx, 0xffffffff
mov esi, 0
mov dword [esp + 0x60], ecx
adc esi, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ecx
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
shld edx, edi, 1
shld edi, eax, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
shld eax, edx, 1
shld edx, esi, 1
shld esi, ecx, 1
or esi, dword [esp]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x3c]
shld ecx, esi, 1
shld esi, ebx, 1
add ebx, ebx
or ecx, dword [esp]
or esi, dword [esp]
or ebx, dword [esp + 0x28]
cmp dword [esp + 0x64], edx
mov dword [esp], 0
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x24], ebx
sbb ecx, eax
mov ecx, dword [esp + 0x5c]
sbb ecx, edi
mov ecx, dword [esp + 0x58]
sbb ecx, esi
sar ecx, 0x1f
mov ebx, ecx
and ebx, 1
mov dword [esp + 0x28], ebx
mov ebx, 0x3b9aca00
and ecx, ebx
mov ebx, dword [esp + 0x4c]
sub edx, ecx
mov ecx, dword [esp + 4]
sbb eax, 0
mov dword [esp + 0x40], edx
sbb edi, 0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
sbb esi, 0
mov dword [esp + 0x44], edi
mov dword [esp + 0xc], esi
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 8], esi
adc eax, 0xffffffff
mov dword [esp + 4], ecx
adc ebx, 0xffffffff
or esi, eax
mov dword [esp + 0x10], eax
or ecx, ebx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x24]
or esi, ecx
jne 0x41402e
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
shld ecx, ebx, 1
add ebx, ebx
or ebx, dword [esp + 0x28]
or ecx, dword [esp]
mov edx, ebx
mov ebx, eax
neg ebx
mov eax, 0
sbb eax, dword [esp + 0x2c]
mov eax, 0
sbb eax, dword [esp + 0x30]
mov eax, 0
jmp 0x414151
jmp 0x414153
jmp 0x41415b
jmp 0x414165
sbb eax, edi
mov eax, 0
cmovge ecx, eax
cmovge edx, eax
push 0
push 0x15180
push ecx
push edx
mov esi, edx
call fcn.0040361e
add esp, 0x10
mov dword [esp + 0xd0], eax
mov dword [esp], eax
imul eax, eax, 0xae80
and edx, 0x7fff
mov cx, 0x7b2
xor ebx, ebx
add eax, esi
mov dword [esp + 0xc], edx
mov word [esp + 0xd4], dx
mov word [esp + 0x54], ax
movzx edx, ax
shr eax, 0x10
and eax, 1
mov byte [esp + 0x56], al
shl eax, 0x10
or eax, edx
mov dword [esp + 0x10], eax
mov eax, ecx
xor edx, edx
mov si, 0x190
mov di, 0x64
div si
mov esi, eax
mov eax, ecx
xor edx, edx
div di
test cl, 3
jmp 0x4141e8
mov dword [esp + 8], ecx
je 0x4141fa
mov edx, 0x16d
mov byte [esp + 4], 0x1c
jmp 0x414240
imul esi, esi, 0x190
mov edx, 0x7b2
imul eax, eax, 0x64
mov di, 0x7b2
jmp 0x414216
sub edx, esi
mov esi, 0x7b2
sub esi, eax
add esi, ecx
cmp si, di
setne ah
add edx, ecx
cmp dx, di
sete al
or al, ah
movzx edx, al
or al, 0xfc
add edx, 0x16d
mov byte [esp + 4], al
mov eax, dword [esp + 0xc]
mov esi, ebx
mov ecx, 0x7fff
and esi, ecx
mov edi, eax
and edi, ecx
mov ecx, dword [esp]
jmp 0x41425e
cmp ecx, edx
sbb edi, esi
jb 0x414281
sub ecx, edx
jmp 0x41426e
mov dword [esp], ecx
mov ecx, dword [esp + 8]
sbb eax, ebx
mov dword [esp + 0xc], eax
inc ecx
jmp 0x4141ca
jmp 0x414286
mov al, byte [esp + 4]
and ecx, 0x1ff
mov dl, 1
mov word [esp + 0x68], cx
movzx esi, dl
jmp 0x4142a2
and esi, 0xf
dec esi
cmp esi, 0xb
ja case.default.0x4142b1
mov ah, 0x1f
jmp dword [esi*4 + 0x43d5b0]
jmp 0x4142bb
mov ah, al
jmp case.0x4142b1.1
jmp 0x4142c8
jmp 0x4142dc
jmp 0x4142d0
jmp 0x4142dc
jmp 0x4142d7
jmp 0x4142dc
jmp 0x4142dc
mov ah, 0x1e
movzx esi, ah
mov edi, ecx
jmp 0x4142ec
and esi, 0x1f
and edi, 0x1ff
cmp di, si
jb 0x414309
movzx esi, si
jmp 0x414303
inc dl
sub ecx, esi
jmp 0x414297
jmp 0x41430c
mov edi, dword [esp + 0x10]
inc cl
and dl, 0xf
mov si, 0x3c
and cl, 0x1f
mov byte [esp + 0x14], dl
xor edx, edx
mov byte [esp + 0x1a], cl
mov ecx, 0xe10
mov eax, edi
div ecx
imul ecx, eax, 0xf1f0
and al, 0x1f
xor edx, edx
add ecx, edi
mov byte [esp + 0x16], al
mov eax, ecx
div si
and al, 0x3f
mov byte [esp + 0x1b], al
push 0x3c
pop ecx
mov eax, edi
xor edx, edx
div ecx
and dl, 0x3f
mov byte [esp + 0x18], dl
jmp 0x414360
jmp 0x414369
jmp 0x41436f
movzx eax, byte [esp + 0x1a]
movzx ebx, byte [esp + 0x14]
mov dl, byte [esp + 0x18]
mov ch, byte [esp + 0x1b]
mov dh, byte [esp + 0x16]
jmp 0x41438d
jmp 0x414395
jmp 0x41439f
jmp 0x4143a4
jmp 0x4143ad
jmp 0x4143b5
mov cl, al
and cl, 0x1f
cmp cl, 9
push 5
pop edi
mov byte [esp + 4], dl
mov byte [esp + 0xc], ch
mov byte [esp], dh
ja 0x4143e5
and al, 0x1f
jmp 0x4143d8
mov esi, edi
add al, 0x30
mov byte [esp + 0xd5], al
jmp 0x414405
push 4
pop esi
and eax, 0x1f
jmp 0x4143f5
movzx eax, word [eax + eax + 0x405ac8]
mov word [esp + 0xd4], ax
jmp 0x41440b
lea ecx, [esp + esi + 0xd0]
push 6
pop edx
sub edx, esi
jmp 0x41441b
mov esi, dword [esp + 0x1c]
push esi
push 0x40555c
call fcn.0041ebbc
pop ecx
pop edx
test ax, ax
jmp 0x414431
jne 0x414650
jmp 0x41443b
mov eax, dword [esi]
lea ecx, [esp + 0xc4]
mov dword [ecx], eax
jmp 0x41444f
push 0x2f
pop edx
call fcn.0040c076
test ax, ax
jne 0x414650
mov eax, ebx
jmp 0x414469
and al, 0xf
cmp al, 9
ja 0x41448a
and bl, 0xf
jmp 0x41447c
or bl, 0x30
mov byte [esp + 0xd4], bl
push 4
jmp 0x4144a5
and ebx, 0xf
jmp 0x414493
movzx eax, word [ebx + ebx + 0x405ac8]
mov word [esp + 0xd3], ax
push 3
pop eax
sub edi, eax
jmp 0x4144ae
lea ecx, [esp + eax + 0xd0]
jmp 0x4144bf
mov edx, edi
push esi
push 0x40555c
call fcn.0041ebbc
pop ecx
pop edx
test ax, ax
jmp 0x4144d3
jne 0x414650
jmp 0x4144e2
mov eax, dword [esi]
lea ecx, [esp + 0xc8]
mov dword [ecx], eax
jmp 0x4144f6
push 0x2f
pop edx
call fcn.0040c076
test ax, ax
jne 0x414650
jmp 0x41450f
push 0xf
pop esi
mov eax, dword [esp + 8]
mov cx, 0x64
cmp ax, 0x64
jmp 0x414522
jb 0x414546
xor edx, edx
jmp 0x41452b
div cx
movzx edx, dx
movzx edx, word [edx + edx + 0x405ac8]
mov word [esp + esi + 0xd0], dx
add esi, 0xfffffffe
jmp 0x41451a
cmp ax, 9
jmp 0x41454c
ja 0x41455d
add al, 0x30
jmp 0x414553
mov byte [esp + esi + 0xd1], al
inc esi
jmp 0x414579
movzx eax, ax
jmp 0x414569
movzx eax, word [eax + eax + 0x405ac8]
mov word [esp + esi + 0xd0], ax
jmp 0x41457f
lea ecx, [esp + esi + 0xd0]
push 0x11
pop edx
sub edx, esi
jmp 0x41458e
mov esi, dword [esp + 0x1c]
push esi
push 0x405570
call fcn.0041ebbc
pop ecx
pop edx
test ax, ax
jmp 0x4145a9
jne 0x414650
jmp 0x4145b3
mov eax, dword [esi]
lea ecx, [esp + 0xcc]
mov dword [ecx], eax
jmp 0x4145c6
push 0x20
pop edx
call fcn.0040c076
test ax, ax
jne 0x414650
jmp 0x4145da
movzx ecx, byte [esp]
mov edx, esi
call fcn.0041ed83
test ax, ax
jne 0x414650
jmp 0x4145f3
mov eax, dword [esi]
lea ecx, [esp + 0x68]
mov dword [ecx], eax
jmp 0x414605
push 0x3a
pop edx
call fcn.0040c076
test ax, ax
jne 0x414650
jmp 0x41461b
movzx ecx, byte [esp + 0xc]
mov edx, esi
call fcn.0041ed83
test ax, ax
jne 0x414650
jmp 0x414632
mov eax, dword [esi]
lea ecx, [esp + 0x54]
mov dword [ecx], eax
jmp 0x414643
push 0x3a
pop edx
call fcn.0040c076
test ax, ax
je 0x414678
jmp 0x414658
jmp 0x41465a
jmp 0x41465e
jmp 0x414662
jmp 0x414666
jmp 0x414670
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x41467d
movzx ecx, byte [esp + 4]
mov edx, esi
call fcn.0041ed83
test ax, ax
jmp 0x41468f
jmp 0x414692
jmp 0x414694
jmp 0x41469b
jmp 0x4146a1
jne 0x414666
jmp 0x4146aa
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xb8]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x4146c3
push 9
pop edx
call fcn.0040c076
test ax, ax
jne 0x414666
jmp 0x4146d5
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x114]
lea edx, [esp + 0xbc]
mov ecx, esi
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x4146f3
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040bff0
pop eax
pop ecx
movzx eax, word [esi + 4]
test ax, ax
jne 0x414666
jmp 0x414713
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xc0]
mov eax, dword [eax]
mov dword [ecx], eax
jmp 0x41472c
push 0xa
pop edx
call fcn.0040c076
jmp 0x414666
jmp fcn.0041473e