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

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
push edi
call fcn.00401a60
test eax, eax
jne 0x40213a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0xc
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x80]
push 0
push edi
mov eax, dword [esi]
push esi
call dword [eax + 0x294]
mov ecx, dword [esi]
mov ebp, eax
push edi
push esi
mov dword [esp + 0x18], ebp
call dword [ecx + 0x290]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x4c]
mov edi, eax
call fcn.00403940
test edi, edi
mov dword [esp + 0x44], 0x4352c4
jge 0x402181
mov edi, 0x7fffffff
xor ebx, ebx
test edi, edi
jle 0x4021ac
mov ax, word [ebp]
test ax, ax
mov dword [esp + 0x78], eax
je 0x4021ac
lea edx, [esp + 0x78]
push 1
push edx
lea ecx, [esp + 0x4c]
call fcn.004038e0
inc ebx
add ebp, 2
cmp ebx, edi
jl 0x402187
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x44]
mov edi, eax
push eax
mov eax, dword [esp + 0x48]
call dword [eax + 4]
mov ebx, dword [esp + 0x48]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x2c]
call fcn.00403cb0
mov ebp, 0x4352bc
push edi
push ebx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebp
call fcn.004049d0
lea ecx, [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
push eax
mov ebx, eax
call dword [edx + 4]
mov edi, dword [esp + 0x48]
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x1c]
call fcn.00403cb0
test edi, edi
mov dword [esp + 0x14], 0x4352b4
je 0x40221d
push ebx
push edi
lea ecx, [esp + 0x1c]
call fcn.004044d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jne 0x402286
push eax
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x18]
call dword [eax + 4]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x28]
call dword [edx + 4]
mov eax, dword [esp + 0x28]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x402275
test cl, cl
je 0x402271
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x402275
add eax, 2
add edi, 2
test cl, cl
jne 0x40224d
xor eax, eax
jmp 0x40227a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov dword [esp + 0x78], 0
je 0x40228e
mov dword [esp + 0x78], 1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x80]
mov eax, dword [esi]
push ecx
push edx
push esi
call dword [eax + 0x298]
xor eax, eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4022c9
mov ecx, dword [esp + 0x28]
cmp byte [ecx + eax], 0x2f
jne 0x4022c0
mov byte [ecx + eax], 0x5c
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
inc eax
cmp eax, edx
jl 0x4022b2
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4022f6
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
jle 0x4022f6
mov ecx, dword [esp + 0x18]
cmp byte [ecx + eax], 0x2f
jne 0x4022ed
mov byte [ecx + eax], 0x5c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
cmp eax, edx
jl 0x4022df
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x3c]
call fcn.00403cb0
push 0xffffffffffffffff
push 0x442b50
lea ecx, [esp + 0x5c]
mov dword [esp + 0x3c], ebp
xor ebx, ebx
call fcn.00403cb0
push ebx
lea eax, [esp + 0x58]
push ebx
push eax
push 0x4428a0
lea ecx, [esp + 0x44]
push ebx
lea edx, [esp + 0x38]
push ecx
push edx
mov ecx, 0x442620
mov dword [esp + 0x70], ebp
call fcn.004107f0
lea ecx, [esp + 0x54]
mov edi, eax
call fcn.00403b00
test edi, edi
jne 0x4024af
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4023d0
push 0xffffffffffffffff
push 0x442b50
lea ecx, [esp + 0x6c]
call fcn.00403cb0
lea ecx, [esp + 0x14]
mov dword [esp + 0x64], ebp
mov eax, dword [esp + 0x1c]
mov edi, eax
push eax
mov eax, dword [esp + 0x18]
call dword [eax + 4]
push edi
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00403cb0
push ebx
lea edx, [esp + 0x68]
push ebx
push edx
push 0x4428a0
lea eax, [esp + 0x44]
push ebx
lea ecx, [esp + 0x68]
push eax
push ecx
mov ecx, 0x442620
mov dword [esp + 0x70], ebp
call fcn.004107f0
lea ecx, [esp + 0x54]
mov edi, eax
call fcn.00403b00
lea ecx, [esp + 0x64]
call fcn.00403b00
test edi, edi
je 0x4023d8
mov ebx, 1
test edi, edi
jne 0x4024af
push 0xffffffffffffffff
push 0x442b50
lea ecx, [esp + 0x6c]
call fcn.00403cb0
push 0
lea edx, [esp + 0x68]
push 0
push edx
push 0x4428a0
lea eax, [esp + 0x44]
push 0
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, 0x4428b0
mov dword [esp + 0x80], ebp
call fcn.004107f0
lea ecx, [esp + 0x64]
mov edi, eax
call fcn.00403b00
test edi, edi
jne 0x4024af
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4024ab
push 0xffffffffffffffff
push 0x442b50
lea ecx, [esp + 0x5c]
call fcn.00403cb0
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], ebp
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push eax
mov edi, eax
call dword [edx + 4]
push edi
lea ecx, [esp + 0x68]
mov eax, dword [esp + 0x1c]
push eax
call fcn.00403cb0
push 0
lea ecx, [esp + 0x58]
push 0
push ecx
push 0x4428a0
lea edx, [esp + 0x44]
push 0
lea eax, [esp + 0x78]
push edx
push eax
mov ecx, 0x4428b0
mov dword [esp + 0x80], ebp
call fcn.004107f0
lea ecx, [esp + 0x64]
mov edi, eax
call fcn.00403b00
lea ecx, [esp + 0x54]
call fcn.00403b00
test edi, edi
je 0x402515
mov ebx, 1
test edi, edi
je 0x402515
mov ecx, dword [esp + 0x3c]
xor eax, eax
test ecx, ecx
jle 0x4024d4
mov ecx, dword [esp + 0x38]
cmp byte [ecx + eax], 0x5c
jne 0x4024cb
mov byte [ecx + eax], 0x2f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
inc eax
cmp eax, edx
jl 0x4024bd
lea ecx, [esp + 0x34]
push ebx
push ecx
push esi
call fcn.00401d00
add esp, 0xc
lea ecx, [esp + 0x34]
mov esi, eax
call fcn.00403b00
lea ecx, [esp + 0x14]
call fcn.00403b00
lea ecx, [esp + 0x24]
call fcn.00403b00
lea ecx, [esp + 0x44]
call fcn.00404dd0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0xc
mov ebp, dword [esp + 0x7c]
mov edx, dword [esi]
push ebp
push esi
call dword [edx + 0x7c]
mov ebx, eax
mov eax, dword [esi]
push ebx
push esi
call dword [eax + 0x28]
mov ecx, dword [esi]
mov edi, eax
push str._Ljava_lang_String__Ljava_net_URL_
push str.findResource
push edi
push esi
call dword [ecx + 0x84]
mov edx, dword [esp + 0x80]
push edx
push eax
push edi
push ebp
push esi
call fcn.004025c0
add esp, 0x14
mov ebp, eax
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0x5c]
mov ecx, dword [esi]
push ebx
push esi
call dword [ecx + 0x5c]
mov edi, 0x4352ac
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], edi
call fcn.00404110
mov esi, 0x4352a8
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], edi
call fcn.00404110
lea ecx, [esp + 0x24]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edi
call fcn.00404110
lea ecx, [esp + 0x44]
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], 0x4352a0
call fcn.00404110
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 0xc