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

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov eax, dword [ebp + 0x4e4c8]
test eax, eax
je case.default.0x4348ad
movsx eax, byte [ebp + 0x1f56]
mov dx, word [ebp + 0x1ecc]
mov cx, word [ebp + 0x1ece]
cmp eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
ja case.default.0x4348ad
jmp dword [eax*4 + 0x43543c]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
movsx ebx, dx
lea eax, [ebx + 0x14]
cmp edi, eax
jl 0x4348fd
lea edx, [ebx + 0x42]
cmp edi, edx
jg 0x4348fd
movsx eax, cx
lea edx, [eax + 0x142]
cmp esi, edx
jl 0x4348fd
add eax, 0x176
cmp esi, eax
jg 0x4348fd
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 1
call fcn.0043cc00
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0x46]
cmp edi, eax
jl 0x434a30
lea edx, [ebx + 0x74]
cmp edi, edx
jg 0x434a30
movsx eax, cx
lea edx, [eax + 0x142]
cmp esi, edx
jl 0x434a30
add eax, 0x176
cmp esi, eax
jg 0x434a30
cmp dword [ebp + 0x4e630], 0xffffffff
jne 0x434989
mov eax, dword [ebp + 0x4c918]
lea edx, [ebp + 0x4ec0d]
mov ecx, 0x10
mov edi, edx
mov esi, dword [eax + 8]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x4dd34]
mov byte [ebp + 0x4e618], 5
mov dword [ebp + 0x4dd7c], ecx
jmp 0x434a24
lea esi, [ebp + 0x4ec4d]
lea eax, [ebp + 0x4ea27]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4349b9
test cl, cl
je 0x4349b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4349b9
add eax, 2
add esi, 2
test cl, cl
jne 0x434995
xor eax, eax
jmp 0x4349be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x434a0e
mov eax, dword [ebp + 0x4c91c]
lea edx, [ebp + 0x4ec0d]
mov ecx, 0x10
mov edi, edx
mov esi, dword [eax + 8]
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x4dd34]
mov byte [ebp + 0x4e618], 5
mov dword [ebp + 0x4dd7c], ecx
jmp 0x434a24
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 2
call fcn.0043cc00
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x78]
cmp edi, edx
jl 0x434a7b
lea eax, [ebx + 0xa6]
cmp edi, eax
jg 0x434a7b
movsx eax, cx
lea edx, [eax + 0x142]
cmp esi, edx
jl 0x434a7b
add eax, 0x176
cmp esi, eax
jg 0x434a7b
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 3
mov dword [ebp + 0x1e84], 0
call fcn.0043cc00
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0xaa]
cmp edi, eax
jl 0x434abf
lea edx, [ebx + 0xd8]
cmp edi, edx
jg 0x434abf
movsx eax, cx
lea edx, [eax + 0x142]
cmp esi, edx
jl 0x434abf
add eax, 0x176
cmp esi, eax
jg 0x434abf
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 4
call fcn.0043cc00
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0xf4]
cmp edi, eax
jl case.default.0x4348ad
add ebx, 0x122
cmp edi, ebx
jg case.default.0x4348ad
movsx eax, cx
lea ecx, [eax + 0x142]
cmp esi, ecx
jl case.default.0x4348ad
add eax, 0x176
cmp esi, eax
jg case.default.0x4348ad
push 0x12
mov ecx, ebp
call fcn.00432950
push 0
push 0
push 0
push 0x328
jmp 0x435417
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
movsx ebx, dx
lea edx, [ebx + 0xf]
cmp esi, edx
jl 0x434c27
lea ecx, [ebx + 0x127]
cmp esi, ecx
jg 0x434c27
movsx edi, word [esp + 0x10]
lea edx, [edi + 0x3c]
cmp eax, edx
jl 0x434c27
lea ecx, [edi + 0x139]
cmp eax, ecx
jg 0x434c27
mov edx, esi
sub edx, ebx
sub edx, 0xf
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x4a22c0]
fmul qword [0x4a22b8]
call fcn.00491c5c
mov esi, eax
mov eax, dword [esp + 0x20]
sub eax, edi
sub eax, 0x3c
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x4a22b0]
fmul qword [0x4a22a8]
call fcn.00491c5c
cmp si, 0x1e
jge 0x434ba3
mov esi, 0x1e
cmp ax, 0x1e
jge 0x434bae
mov eax, 0x1e
cmp si, 0x2d2
jle 0x434bba
mov esi, 0x2d2
cmp ax, 0x28a
jle 0x434bc5
mov eax, 0x28a
movsx ecx, ax
push 0
push 0x4a71ec
movsx edx, si
push 0
push ecx
push edx
push 0
push 0xa54
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
push 0
push 0x4a71ec
push 0
push 0
push 1
push 0
push 0xa52
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xc2]
cmp esi, ecx
jl 0x434c6e
lea edx, [ebx + 0xf0]
cmp esi, edx
jg 0x434c6e
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x142]
cmp eax, edx
jl 0x434c6e
add ecx, 0x176
cmp eax, ecx
jg 0x434c6e
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xf4]
cmp esi, ecx
jl case.default.0x4348ad
add ebx, 0x122
cmp esi, ebx
jg case.default.0x4348ad
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x142]
cmp eax, edx
jl case.default.0x4348ad
add ecx, 0x176
cmp eax, ecx
jg case.default.0x4348ad
push 0x12
mov ecx, ebp
call fcn.00432950
push 0
push 0
push 0
push 0x329
jmp 0x435417
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
movsx esi, dx
lea eax, [esi + 0x46]
cmp edi, eax
jl 0x434d2a
lea ecx, [esi + 0x74]
cmp edi, ecx
jg 0x434d2a
movsx eax, word [esp + 0x10]
lea edx, [eax + 0x142]
cmp ebx, edx
jl 0x434d2a
add eax, 0x176
cmp ebx, eax
jg 0x434d2a
push 0
push 0
push 0
push 0
push 0
push 0
push 0xa55
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0x24
mov ecx, ebp
call fcn.00432950
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
lea eax, [esi + 0xc2]
cmp edi, eax
jl 0x434d6c
lea ecx, [esi + 0xf0]
cmp edi, ecx
jg 0x434d6c
movsx eax, word [esp + 0x10]
lea edx, [eax + 0x142]
cmp ebx, edx
jl 0x434d6c
add eax, 0x176
cmp ebx, eax
jg 0x434d6c
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
lea eax, [esi + 0xf4]
cmp edi, eax
jl case.default.0x4348ad
add esi, 0x122
cmp edi, esi
jg case.default.0x4348ad
movsx eax, word [esp + 0x10]
lea ecx, [eax + 0x142]
cmp ebx, ecx
jl case.default.0x4348ad
add eax, 0x176
cmp ebx, eax
jg case.default.0x4348ad
push 0x12
mov ecx, ebp
call fcn.00432950
push 0
push 0
push 0
push 0x32a
jmp 0x435417
mov eax, dword [ebp + 0x4dd94]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
cmp eax, 1
jne 0x434f77
movsx esi, dx
lea edx, [esi + 0x14]
cmp ebx, edx
jl 0x434e49
lea eax, [esi + 0x42]
cmp ebx, eax
jg 0x434e49
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x434e49
add eax, 0x10e
cmp edi, eax
jg 0x434e49
cmp dword [ebp + 0x4e61c], 0xbb8
jl 0x434e49
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2f
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x46]
cmp ebx, edx
jl 0x434eb7
lea eax, [esi + 0x73]
cmp ebx, eax
jg 0x434eb7
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x434eb7
add eax, 0x10e
cmp edi, eax
jg 0x434eb7
cmp dword [ebp + 0x4e61c], 0x7d0
jl 0x434eb7
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2e
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x78]
cmp ebx, edx
jl 0x434f28
lea eax, [esi + 0xa5]
cmp ebx, eax
jg 0x434f28
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x434f28
add eax, 0x10e
cmp edi, eax
jg 0x434f28
cmp dword [ebp + 0x4e61c], 0x3e8
jl 0x434f28
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2b
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0xaa]
cmp ebx, edx
jl 0x43513f
add esi, 0xd7
cmp ebx, esi
jg 0x43513f
movsx eax, cx
lea ecx, [eax + 0xdc]
cmp edi, ecx
jl 0x43513f
add eax, 0x10e
cmp edi, eax
jg 0x43513f
cmp dword [ebp + 0x4e61c], 0x5dc
jl 0x43513f
jmp 0x435105
test eax, eax
jne 0x43513f
movsx esi, dx
lea eax, [esi + 0x14]
cmp ebx, eax
jl 0x434ff0
lea edx, [esi + 0x42]
cmp ebx, edx
jg 0x434ff0
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x434ff0
add eax, 0x10e
cmp edi, eax
jg 0x434ff0
cmp dword [ebp + 0x4e61c], 0xbb8
jl 0x434ff0
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2d
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x46]
cmp ebx, edx
jl 0x43505e
lea eax, [esi + 0x73]
cmp ebx, eax
jg 0x43505e
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x43505e
add eax, 0x10e
cmp edi, eax
jg 0x43505e
cmp dword [ebp + 0x4e61c], 0x7d0
jl 0x43505e
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2c
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0x78]
cmp ebx, edx
jl 0x4350cf
lea eax, [esi + 0xa5]
cmp ebx, eax
jg 0x4350cf
movsx eax, cx
lea edx, [eax + 0xdc]
cmp edi, edx
jl 0x4350cf
add eax, 0x10e
cmp edi, eax
jg 0x4350cf
cmp dword [ebp + 0x4e61c], 0x3e8
jl 0x4350cf
mov eax, dword [ebp + 0x1e84]
push 0
push 0
push eax
push 1
push 0x2b
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
mov ecx, dword [esp + 0x10]
lea edx, [esi + 0xaa]
cmp ebx, edx
jl 0x43513f
add esi, 0xd7
cmp ebx, esi
jg 0x43513f
movsx eax, cx
lea ecx, [eax + 0xdc]
cmp edi, ecx
jl 0x43513f
add eax, 0x10e
cmp edi, eax
jg 0x43513f
cmp dword [ebp + 0x4e61c], 0x5dc
jl 0x43513f
mov edx, dword [ebp + 0x1e84]
push 0
push 0
push edx
push 1
push 0x33
push 0
push 0xa56
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
push 0x24
mov ecx, ebp
call fcn.00432950
movsx edi, word [esp + 0x14]
lea esi, [edi + 0x14]
cmp ebx, esi
jl 0x43518e
lea eax, [edi + 0x17c]
cmp ebx, eax
jg 0x43518e
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
movsx eax, bx
lea edx, [eax + 0x8c]
cmp ecx, edx
jle 0x435196
add eax, 0xa0
cmp ecx, eax
jge 0x435196
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov dword [ebp + 0x1e84], 0
call fcn.0043cc00
jmp 0x435192
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmp edx, esi
jl 0x4351df
lea eax, [edi + 0x17c]
cmp edx, eax
jg 0x4351df
movsx eax, bx
lea esi, [eax + 0xa0]
cmp ecx, esi
jle 0x4351df
add eax, 0xaf
cmp ecx, eax
jge 0x4351df
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov dword [ebp + 0x1e84], 1
call fcn.0043cc00
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 0xc2]
cmp edx, eax
jl 0x435227
lea eax, [edi + 0xf0]
cmp edx, eax
jg 0x435227
movsx eax, bx
lea esi, [eax + 0x142]
cmp ecx, esi
jl 0x435227
add eax, 0x176
cmp ecx, eax
jg 0x435227
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 0xf4]
cmp edx, eax
jl case.default.0x4348ad
add edi, 0x122
cmp edx, edi
jg case.default.0x4348ad
movsx eax, bx
lea edx, [eax + 0x142]
cmp ecx, edx
jl case.default.0x4348ad
add eax, 0x176
cmp ecx, eax
jg case.default.0x4348ad
push 0x12
mov ecx, ebp
call fcn.00432950
push 0
push 0
push 0
push 0x32b
jmp 0x435417
mov esi, dword [esp + 0x1c]
movsx ebx, dx
lea eax, [ebx + 0xf]
cmp esi, eax
mov eax, dword [esp + 0x20]
jl 0x43538f
lea ecx, [ebx + 0x127]
cmp esi, ecx
jg 0x43538f
movsx edi, word [esp + 0x10]
lea edx, [edi + 0x3c]
cmp eax, edx
jl 0x43538f
lea ecx, [edi + 0x139]
cmp eax, ecx
jg 0x43538f
mov edx, esi
sub edx, ebx
sub edx, 0xf
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x4a22c0]
fmul qword [0x4a22b8]
call fcn.00491c5c
mov esi, eax
mov eax, dword [esp + 0x20]
sub eax, edi
sub eax, 0x3c
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x4a22b0]
fmul qword [0x4a22a8]
call fcn.00491c5c
cmp si, 0x1e
jge 0x43530b
mov esi, 0x1e
cmp ax, 0x1e
jge 0x435316
mov eax, 0x1e
cmp si, 0x2d2
jle 0x435322
mov esi, 0x2d2
cmp ax, 0x28a
jle 0x43532d
mov eax, 0x28a
movsx ecx, ax
push 0
push 0x4a71ec
movsx edx, si
push 0
push ecx
push edx
push 0
push 0xa57
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
push 0
push 0x4a71ec
push 0
push 0
push 1
push 0
push 0xa52
push 0xfa314dc
mov ecx, ebp
call fcn.00404de0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xc2]
cmp esi, ecx
jl 0x4353d6
lea edx, [ebx + 0xf0]
cmp esi, edx
jg 0x4353d6
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x142]
cmp eax, edx
jl 0x4353d6
add ecx, 0x176
cmp eax, ecx
jg 0x4353d6
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
mov byte [ebp + 0x1f56], 0
call fcn.0043cc00
mov eax, dword [esp + 0x20]
lea ecx, [ebx + 0xf4]
cmp esi, ecx
jl case.default.0x4348ad
add ebx, 0x122
cmp esi, ebx
jg case.default.0x4348ad
movsx ecx, word [esp + 0x10]
lea edx, [ecx + 0x142]
cmp eax, edx
jl case.default.0x4348ad
add ecx, 0x176
cmp eax, ecx
jg case.default.0x4348ad
push 0x12
mov ecx, ebp
call fcn.00432950
push 0
push 0
push 0
push 0x32c
push 0x12
mov ecx, ebp
call fcn.00431bf0
push 0
push 5
push 0xe
push 0x45
mov ecx, ebp
call fcn.0043cc00
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8